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.ini中文版
Oct 09 PHP
php 遍历数据表数据并列表横向排列的代码
Sep 05 PHP
让PHP更快的提供文件下载的代码
Jun 13 PHP
php中出现空白页的原因及解决方法汇总
Jul 08 PHP
php实现的数字验证码及数字运算验证码
Jul 30 PHP
php中define用法实例
Jul 30 PHP
深入解析PHP的Yii框架中的event事件机制
Mar 17 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
May 23 PHP
php实现压缩合并js的方法【附demo源码下载】
Sep 22 PHP
基于ThinkPHP实现的日历功能实例详解
Apr 15 PHP
PHP 出现 http500 错误的解决方法
Mar 09 PHP
laravel添加角色和模糊搜索功能的实现代码
Jun 22 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
[原创]PHP实现逐行删除文件右侧空格的方法
2015/12/25 PHP
php生成与读取excel文件
2016/10/14 PHP
thinkPHP简单导入和使用阿里云OSSsdk的方法
2017/03/15 PHP
PHP生成随机密码4种方法及性能对比
2020/12/11 PHP
jquery 回车事件实现代码
2011/08/23 Javascript
jquery中ajax学习笔记3
2011/10/16 Javascript
raphael.js绘制中国地图 地图绘制方法
2014/02/12 Javascript
seaJs的模块定义和模块加载浅析
2014/06/06 Javascript
JavaScript的arguments对象应用示例
2014/09/15 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
2016/05/05 Javascript
javascript实现用户点击数量统计
2016/12/25 Javascript
微信小程序 上传头像的实例详解
2017/10/27 Javascript
详解Angular5 路由传参的3种方法
2018/04/28 Javascript
微信小程序中使用ECharts 异步加载数据的方法
2018/06/27 Javascript
使用vue点击li,获取当前点击li父辈元素的属性值方法
2018/09/12 Javascript
vue的keep-alive用法技巧
2019/08/15 Javascript
教你用Type Hint提高Python程序开发效率
2016/08/08 Python
Python Socket实现简单TCP Server/client功能示例
2017/08/05 Python
Python环境搭建之OpenCV的步骤方法
2017/10/20 Python
Python内置函数——__import__ 的使用方法
2017/11/24 Python
在VS Code上搭建Python开发环境的方法
2018/04/06 Python
PyCharm代码格式调整方法
2018/05/23 Python
解决matplotlib库show()方法不显示图片的问题
2018/05/24 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
2018/06/27 Python
对Python2与Python3中__bool__方法的差异详解
2018/11/01 Python
aden + anais官方网站:婴儿襁褓、毯子、尿布和服装
2017/06/21 全球购物
泰国第一的化妆品网站:Konvy
2018/02/25 全球购物
卡骆驰新加坡官网:Crocs新加坡
2018/06/12 全球购物
校园新闻广播稿
2014/01/10 职场文书
财务部经理岗位职责
2014/02/03 职场文书
药品促销活动方案
2014/02/14 职场文书
三八妇女节主持词
2015/07/04 职场文书
2015秋季开学典礼致辞
2015/07/16 职场文书
《乌鸦喝水》教学反思
2016/02/19 职场文书
在CSS中映射鼠标位置并实现通过鼠标移动控制页面元素效果(实例代码)
2021/04/22 HTML / CSS
Python OpenGL基本配置方式
2022/05/20 Python