次のコードを使用して次のxmlを解析し、配列のキーとして各個人のIDを追加し、配列の値として名前を追加しています。
コードは正しく機能しますが、配列は機能しません。
$array = array();
$category = $xml->xpath('descendant::person');
foreach ($person as $p) {
$array[$p['id']] = $p['name'];
}
<?xml version="1.0" encoding="utf-8"?>
<people>
<person name="Joe" id="134">
<person name="Jack" id="267">
</person>
</person>
<person name="Ray" id="388">
<person name="John" id="485">
<person name="Rayan" id="900">
</person>
</person>
<person name="Alex" id="590">
</person>
</people>
XMLは無効ですが、有効にすることはできません。ただし、コードは機能しており、IDと値を配列に割り当てる必要があります。