【发布时间】:2012-12-28 05:36:38
【问题描述】:
我正在使用以下代码来解析以下 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 和值分配给数组。
【问题讨论】:
-
你的 xml 一点都不好,我认为应该是
<person name="Joe" id="1"></person><person name="Jack" id="2"></person><person name="Ray" id="3"></person><person name="John" id="4"></person><person name="Alex" id="5"></person> -
我从哪里来?不应该是id吗?
-
@MiqdadAli,代码是正确的,但我需要将它们放入数组中
-
@kennypu,是的,我的错字,已更正。
-
@Harry,对不起,我的 ID 是我的错字
标签: php arrays multidimensional-array simplexml