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 读取Postgresql中的数组
Apr 14 PHP
Fatal error: session_start(): Failed to initialize storage module: files问题解决方法
May 04 PHP
PHP curl实现抓取302跳转后页面的示例
Jul 04 PHP
学习php中的正则表达式
Aug 17 PHP
CodeIgniter针对lighttpd服务器URL重写的方法
Jun 10 PHP
PHP实现事件机制实例分析
Jun 26 PHP
PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )
Jul 09 PHP
PHP调用Mailgun发送邮件的方法
May 04 PHP
laravel 自定义常量的两种方案
Oct 14 PHP
php-7.3.6 编译安装过程
Feb 11 PHP
tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析
Feb 11 PHP
PHP常用header头定义代码示例汇总
Aug 29 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
xajax写的留言本
2006/11/25 PHP
php中hashtable实现示例分享
2014/02/13 PHP
PHP中返回引用类型的方法
2015/04/03 PHP
Smarty中的注释和截断功能介绍
2015/04/09 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
在Laravel中使用GuzzleHttp调用第三方服务的API接口代码
2019/10/15 PHP
调整小数的格式保留小数点后两位
2014/05/14 Javascript
jQuery中prevAll()方法用法实例
2015/01/08 Javascript
jQuery使用$.ajax进行即时验证实例详解
2015/12/11 Javascript
JS控制层作圆周运动的方法
2016/06/20 Javascript
JS判断来路是否是百度等搜索索引进行弹窗或自动跳转的实现代码
2016/10/09 Javascript
jquery+css3问卷答题卡翻页动画效果示例
2016/10/26 Javascript
详解angularjs利用ui-route异步加载组件
2017/05/21 Javascript
Javascript中的作用域及块级作用域
2017/12/08 Javascript
Angular实现的简单定时器功能示例
2017/12/28 Javascript
vue.js项目 el-input 组件 监听回车键实现搜索功能示例
2018/08/25 Javascript
微信小程序五子棋游戏的悔棋实现方法【附demo源码下载】
2019/02/20 Javascript
layui 中select下拉change事件失效的解决方法
2019/09/20 Javascript
Python中逗号的三种作用实例分析
2015/06/08 Python
使用python检测主机存活端口及检查存活主机
2015/10/12 Python
Python实现自动为照片添加日期并分类的方法
2017/09/30 Python
PyQt5利用QPainter绘制各种图形的实例
2017/10/19 Python
python 信息同时输出到控制台与文件的实例讲解
2018/05/11 Python
pandas pivot_table() 按日期分多列数据的方法
2018/11/16 Python
利用python在excel里面直接使用sql函数的方法
2019/02/08 Python
创业计划书如何吸引他人眼球
2014/01/10 职场文书
环保建议书500字
2014/05/14 职场文书
比赛口号大全
2014/06/10 职场文书
优秀党员自我评价范文
2014/09/15 职场文书
专升本学生毕业自我鉴定
2014/10/04 职场文书
党的群众路线教育实践活动督导组工作情况汇报
2014/10/28 职场文书
市场部经理岗位职责
2015/02/02 职场文书
小学生红领巾广播稿
2015/08/19 职场文书
学生会部长竞选稿
2015/11/19 职场文书
MySQL 存储过程的优缺点分析
2021/05/20 MySQL
Java基础——Map集合
2022/04/01 Java/Android