我有一个返回关联数组的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 "
}
}
}
答案 0 :(得分:0)
$a = list($root, $data);
现在$ a将是:
array(0 => $root, 1 => $data);
所以你可以这样得到它们:
$a[0], $a[1]
很可能
$id = $a[1][$a[0]]['id'];