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中创建并处理图象
Oct 09 PHP
一个PHP操作Access类(PHP+ODBC+Access)
Jan 02 PHP
PHP实时显示输出
Oct 02 PHP
非常精妙的PHP递归调用与静态变量使用
Dec 16 PHP
设置php页面编码的两种方法示例介绍
Mar 03 PHP
php除数取整示例
Apr 24 PHP
ThinkPHP CURD方法之page方法详解
Jun 18 PHP
PHP中SSO Cookie登录分析和实现
Nov 06 PHP
LAMP环境使用Composer安装Laravel的方法
Mar 25 PHP
bindParam和bindValue的区别以及在Yii2中的使用详解
Mar 12 PHP
php如何利用pecl安装mongodb扩展详解
Jan 09 PHP
php字符串函数 str类常见用法示例
May 15 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
ASP知识讲座四
2006/10/09 PHP
php遍历、读取文件夹中图片并分页显示图片的方法
2016/11/15 PHP
学习ExtJS TextField常用方法
2009/10/07 Javascript
比较搞笑的js陷阱题
2010/02/07 Javascript
js中将URL中的参数提取出来作为对象的实现代码
2011/08/16 Javascript
文本框水印提示效果的简单实现代码
2014/02/22 Javascript
解决jQuery动态获取手机屏幕高和宽的问题
2014/05/07 Javascript
javascript+HTML5 Canvas绘制转盘抽奖
2020/05/16 Javascript
避免jQuery名字冲突 noConflict()方法
2016/07/30 Javascript
AngularJS入门教程引导程序
2016/08/18 Javascript
如何用JS/HTML将时间戳转换为“xx天前”的形式
2017/02/06 Javascript
完美解决浏览器跨域的几种方法(汇总)
2017/05/08 Javascript
weex里Vuex state使用storage持久化详解
2017/09/09 Javascript
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
2018/01/12 Javascript
vue+iview 实现可编辑表格的示例代码
2018/10/31 Javascript
vue中的.$mount('#app')手动挂载操作
2020/09/02 Javascript
详解Python自建logging模块
2018/01/29 Python
Python基于SMTP协议实现发送邮件功能详解
2018/08/14 Python
python 产生token及token验证的方法
2018/12/26 Python
Python 隐藏输入密码时屏幕回显的实例
2019/02/19 Python
Django时区详解
2019/07/24 Python
解决tensorflow由于未初始化变量而导致的错误问题
2020/01/06 Python
Python视频编辑库MoviePy的使用
2020/04/01 Python
python实现杨辉三角的几种方法代码实例
2021/03/02 Python
涂鸦板简单实现 Html5编写属于自己的画画板
2016/07/05 HTML / CSS
KLOOK客路:发现更好玩的世界,预订独一无二的旅行体验
2016/12/16 全球购物
Perfume’s Club意大利官网:欧洲美妆电商
2019/05/03 全球购物
LN-CC英国:伦敦时尚生活的缩影
2019/09/01 全球购物
运动会解说词50字
2014/01/18 职场文书
小学教师师德反思
2014/02/03 职场文书
战略合作意向书
2014/07/29 职场文书
地震慰问信
2015/02/14 职场文书
数学备课组工作总结
2015/08/12 职场文书
事业单位工作人员岗前培训心得体会
2016/01/08 职场文书
一个成功的互联网创业项目,必须满足这些要求
2019/08/23 职场文书
Vue实现tab导航栏并支持左右滑动功能
2021/06/28 Vue.js