PHP中simplexml_load_string函数使用说明

 更新时间:2011年01月01日 19:54:24   作者:  
这个问题遇到好几次了,今天翻看以前代码的时候看到,便记下来,需要的朋友可以参考下。
先用一段代码重现一下问题
乍一看,结果很让人费解:
复制代码 代码如下:

<?php
$string = <<<EOF
<data>
<foo><bar>hello</bar></foo>
<foo><bar>world</bar></foo>
</data>
EOF;

$data = simplexml_load_string($string);

print_r($data);
print_r($data->foo);
?>

乍一看,结果很让人费解:
复制代码 代码如下:

SimpleXMLElement Object
(
[foo] => Array
(
[0] => SimpleXMLElement Object
(
[bar] => hello
)
[1] => SimpleXMLElement Object
(
[bar] => world
)
)
)
SimpleXMLElement Object
(
[bar] => hello
)

明明print_r显示foo是一个有两个bar元素的数组,但是最后却仅仅显示了一个bar元素!
原因其实很简单,在如上所示simplexml_load_string的结果里,foo并不是数组,而是一个迭代对象!
可以这样确认:
复制代码 代码如下:

foreach ($data->foo as $v) print_r($v);
foreach ($data->children() as $v) print_r($v);

看来,print_r或者var_dump之类的表象并不完全可信,自己多留心吧。

相关文章

  • PHP数组游标实现对数组的各种操作详解

    PHP数组游标实现对数组的各种操作详解

    这篇文章主要介绍了PHP数组游标实现对数组的各种操作,结合实例形式较为详细的分析了PHP数组操作中current与next方法控制数组游标移动实现数组遍历的技巧,需要的朋友可以参考下
    2016-01-01
  • php时间计算相关问题小结

    php时间计算相关问题小结

    这篇文章主要介绍了php时间计算相关问题,结合实例形式总结分析了php关于时间与日期的常见操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-05-05
  • php有道翻译api调用方法实例

    php有道翻译api调用方法实例

    这篇文章主要介绍了php有道翻译api调用方法,实例分析了有道翻译API接口的调用方法与相关技巧,非常具有实用价值,需要的朋友可以参考下
    2014-12-12
  • 提升PHP性能的21种方法介绍

    提升PHP性能的21种方法介绍

    本篇文章是对提升PHP性能的21种方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP Web表单生成器案例分析

    PHP Web表单生成器案例分析

    这篇文章主要介绍了PHP Web表单生成器,结合具体案例形式分析了PHP Web表单生成器基本功能需求、实现方法与操作注意事项,需要的朋友可以参考下
    2020-06-06
  • PHP 图片上传代码

    PHP 图片上传代码

    昨天晚上自学的一段代码到公司来调试。很顺利,到了中午的时候基本上添加、修改、删除,这些在代码世界中最基础的功能都基本实现了,蛮有成就感的。
    2011-09-09
  • 基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍

    基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍

    本篇文章小编为大家介绍,基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍。需要的朋友参考下
    2013-04-04
  • PHP连接SQL server数据库测试脚本运行实例

    PHP连接SQL server数据库测试脚本运行实例

    这篇文章主要介绍了PHP连接SQL server数据库测试脚本运行实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • PHP header函数分析详解

    PHP header函数分析详解

    PHP只是以HTTP协议将HTML文档的标头送到浏览器,告诉浏览器具体怎么处理这个页面,至于传送的内容则需要熟悉一下HTTP协议了,与PHP无关
    2011-08-08
  • PHP性能优化 产生高度优化代码

    PHP性能优化 产生高度优化代码

    PHP是一种在服务器端执行的脚本语言,它开发了世界上许多知名的网站,包括雅虎和Facebook等。下面介绍6条PHP代码、性能优化的技巧。
    2011-07-07

最新评论