我有以下简单的XML结构var_dump' ed:
var_dump($data)
导致:
object(SimpleXMLElement)[269]
public 'columns' =>
object(SimpleXMLElement)[283]
public 'column' =>
array (size=11)
0 =>
object(SimpleXMLElement)[274]
public '@attributes' =>
array (size=2)
'name' => string 'test' (length=10)
'display' => string 'test ID' (length=11)
1 =>
object(SimpleXMLElement)[273]
public '@attributes' =>
array (size=2)
'name' => string 'blah' (length=8)
'display' => string 'blah' (length=8)
....
....
....
public 'row' =>
array (size=6)
0 =>
object(SimpleXMLElement)[270]
public '@attributes' =>
array (size=11)
'test' => string '3445543' (length=8)
'blah' => string 'Some Text' (length=13)
1 =>
object(SimpleXMLElement)[279]
public '@attributes' =>
array (size=11)
'test' => string '3445543' (length=8)
'blah' => string 'Some Text' (length=13)
2 =>
object(SimpleXMLElement)[278]
....
....
....
我缩短了输出,因为你可以看到只是为了节省空间。但是你可以看到row
数组包含6个元素。
现在,如果我这样做:
echo count($data->row);
我按预期得到6
。
如果我这样做:
var_dump($data->row);
我明白了......
object(SimpleXMLElement)[270]
public '@attributes' =>
array (size=11)
'test' => string '3445543' (length=8)
'blah' => string 'Some Text' (length=13)
打印出一个元素。没有数组。
为什么数组的计数返回正确的值但是获取数组只获取数组的第一个元素?我如何获得所有元素?