PHP中simplexml_load_string函数使用说明


Posted in PHP onJanuary 01, 2011

先用一段代码重现一下问题
乍一看,结果很让人费解:

<?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面向对象概念
Nov 06 PHP
PHP 日,周,月点击排行统计
Jan 11 PHP
php的declare控制符和ticks教程(附示例)
Mar 21 PHP
从零开始学YII2框架(一)通过Composer安装Yii2框架
Aug 20 PHP
php示例详解Constructor Prototype Pattern 原型模式
Oct 15 PHP
Yii框架实现邮箱激活的方法【数字签名】
Oct 18 PHP
Yii2 如何在modules中添加验证码的方法
Jun 19 PHP
PHP结合Vue实现滚动底部加载效果
Dec 17 PHP
阿里云Win2016安装Apache和PHP环境图文教程
Mar 11 PHP
PHP实现的DES加密解密类定义与用法示例
Nov 02 PHP
PHP实现的多进程控制demo示例
Jul 22 PHP
PHP学习记录之常用的魔术常量详解
Dec 12 PHP
php xml 入门学习资料
Jan 01 #PHP
PHP+SQL 注入攻击的技术实现以及预防办法
Dec 29 #PHP
解决PHP在DOS命令行下却无法链接MySQL的技术笔记
Dec 29 #PHP
window+nginx+php环境配置 附配置搭配说明
Dec 29 #PHP
php防攻击代码升级版
Dec 29 #PHP
php 传值赋值与引用赋值的区别
Dec 29 #PHP
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法
Dec 29 #PHP
You might like
资料注册后发信小技巧
2006/10/09 PHP
PHP 得到根目录的 __FILE__ 常量
2008/07/23 PHP
WAMP环境中扩展oracle函数库(oci)
2015/06/26 PHP
深入解析PHP的Laravel框架中的event事件操作
2016/03/21 PHP
php die()与exit()的区别实例详解
2016/12/03 PHP
php使用变量动态创建类的对象用法示例
2017/02/06 PHP
js模拟实现Array的sort方法
2007/12/11 Javascript
js跨域和ajax 跨域问题的实现思路
2009/09/05 Javascript
js验证整数加保留小数点的简单实例
2013/12/02 Javascript
HTML Table 空白单元格补全的简单实现
2016/10/13 Javascript
基于JS实现横线提示输入验证码随验证码输入消失(js验证码的实现)
2016/10/27 Javascript
详解Vue.js动态绑定class
2016/12/20 Javascript
js编写三级联动简单案例
2016/12/21 Javascript
解决Vue打包之后文件路径出错的问题
2018/03/06 Javascript
详解Webpack多环境代码打包的方法
2018/08/03 Javascript
JS+HTML5 canvas绘制验证码示例
2018/12/05 Javascript
小程序实现左右来回滚动字幕效果
2018/12/28 Javascript
详解基于electron制作一个node压缩图片的桌面应用
2019/01/29 Javascript
详解使用uni-app开发微信小程序之登录模块
2019/05/09 Javascript
在Python的Django框架中显示对象子集的方法
2015/07/21 Python
Python使用pymysql小技巧
2017/06/04 Python
Python XlsxWriter模块Chart类用法实例分析
2019/03/11 Python
在Python函数中输入任意数量参数的实例
2019/07/16 Python
Python 如何提高元组的可读性
2019/08/26 Python
python base64库给用户名或密码加密的流程
2020/01/02 Python
Python计算机视觉里的IOU计算实例
2020/01/17 Python
适合Python初学者的一些编程技巧
2020/02/12 Python
python利用线程实现多任务
2020/09/18 Python
Pycharm学生免费专业版安装教程的方法步骤
2020/09/24 Python
CSS3点击按钮实现背景渐变动画效果
2016/10/19 HTML / CSS
杭州SQL浙江浙大网新恩普软件有限公司
2013/07/27 面试题
java程序员面试交流
2012/11/29 面试题
大学生学雷锋活动总结
2014/06/26 职场文书
运动会稿件100字
2014/09/24 职场文书
乡镇科协工作总结2015
2015/05/19 职场文书
2015教师节通讯稿
2015/07/20 职场文书