使用simplexml_load_string函数在PHP指令
首先用一段代码来重现这个问题。乍一看,结果很令人困惑:
复制代码代码如下所示:
< PHP
$ = < EOF
你好
世界
EOF;
$data = simplexml_load_string($字符串);
print_r($数据);
print_r($数据-> Foo);
>
乍一看,结果很令人困惑:
复制代码代码如下所示:
simplexmlelement对象
(
{数组
(
{ 0 } = > simplexmlelement对象
(
{您好!
)
{ 1 } = > simplexmlelement对象
(
{世界>
)
)
)
simplexmlelement对象
(
{您好!
)
明明print_r表明foo是两条元素的数组,但最终它只显示了一个杆单元!
原因很简单,在simplexml_load_string结果,如上图所示,Foo不是数组,而是一个迭代的对象!
它可以用这种方式确认:
复制代码代码如下所示:
foreach($数据-> foo为V(V)print_r美元);
foreach($数据->儿童()为V(V)print_r美元);
看来,print_r或var_dump外观不完全可信的,有很多的关注。