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 相关文章推荐
安装APACHE
Jan 15 PHP
php断点续传之如何分割合并文件
Mar 22 PHP
C#使用PHP服务端的Web Service通信实例
Apr 08 PHP
PHP两种去掉数组重复值的方法比较
Jun 19 PHP
PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
Sep 12 PHP
PHP抓取及分析网页的方法详解
Apr 26 PHP
CI框架文件上传类及图像处理类用法分析
May 18 PHP
PHP中SERIALIZE和JSON的序列化与反序列化操作区别分析
Oct 11 PHP
CodeIgniter开发实现支付宝接口调用的方法示例
Nov 14 PHP
PHP获取文本框、密码域、按钮的值实例代码
Apr 19 PHP
laravel添加前台跳转成功页面示例
Oct 22 PHP
Yii框架 session 数据库存储操作方法示例
Nov 18 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制作静态网站的模板框架(三)
2006/10/09 PHP
php读取mysql乱码,用set names XXX解决的原理分享
2011/12/29 PHP
10个超级有用的PHP代码片段果断收藏
2015/09/23 PHP
Javascript 判断函数类型完美解决方案
2009/09/02 Javascript
location.href语句与火狐不兼容的问题
2010/07/04 Javascript
jquery实现加载等待效果示例
2013/09/25 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
使用jQuery Ajax 请求webservice来实现更简练的Ajax
2016/08/04 Javascript
Bootstrap CSS组件之导航(nav)
2016/12/17 Javascript
浅谈JavaScript中promise的使用
2017/01/11 Javascript
详解ES6之async+await 同步/异步方案
2017/09/19 Javascript
Koa2微信公众号开发之本地开发调试环境搭建
2018/05/16 Javascript
如何进行微信公众号开发的本地调试的方法
2019/06/16 Javascript
JavaScript 截取字符串代码实例
2019/09/05 Javascript
JavaScript如何判断对象有某属性
2020/07/03 Javascript
React实现轮播效果
2020/08/25 Javascript
[01:00:53]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Secret
2018/03/30 DOTA
Python字符串处理实现单词反转
2017/06/14 Python
python使用writerows写csv文件产生多余空行的处理方法
2019/08/01 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
2019/08/13 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
2019/08/22 Python
python设置随机种子实例讲解
2019/09/12 Python
Python操作qml对象过程详解
2019/09/26 Python
Python操作redis和mongoDB的方法
2019/12/19 Python
python Pexpect模块的使用
2020/12/25 Python
CSS实现半透明边框与多重边框的场景分析
2019/11/13 HTML / CSS
应届生人事助理求职信
2013/11/09 职场文书
餐饮收银员岗位职责
2014/02/07 职场文书
会计的岗位职责
2014/03/15 职场文书
企业宣传工作方案
2014/06/02 职场文书
2014党员自我评议表范文
2014/09/20 职场文书
老乡会致辞
2015/07/28 职场文书
2016年国庆节67周年活动总结
2016/04/01 职场文书
2016年社区中秋节活动总结
2016/04/05 职场文书
怎样写好工作计划
2019/04/10 职场文书
HTML怎么设置下划线?html文字加下划线方法
2021/12/06 HTML / CSS