我有一个返回关联数组的 xml 解析器。这是结构:
<addresses id="123">
<anonymous-address> <test>data 1 </test>
</anonymous-address>
</addresses>
print_r($this->params) will return
Array
(
[addresses] => Array
(
[id] => 123
[anonymous-address] => Array
(
[0] => Array
(
[test] => Array
(
[VALUE] => data 1
)))))
然后这个数组通过 list() 传递为:
list($root, $data) = $parsedXML;
然后我尝试从 root 获取一个 id 属性并以这种方式读取:
$id = $data[$root]['id'];
编辑:这适用于除 400 的一个 $root 值之外的所有值。这种开关 ($root) 的情况与其他情况具有相同的代码,所以我不知道为什么它只在那里出错。
var_dump($root, $data) 输出
string (9) "addresses"
array(1) {
["addresses"]=>
array(2) {
["id"]=>
string(3) "123"
["anonymous-address"]=>
array(1) {
["VALUE"]=>
string(7) "data 1 "
}
}
}