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+DBM的同学录程序(1)
Oct 09 PHP
Adodb的十个实例(清晰版)
Dec 31 PHP
PHP性能优化准备篇图解PEAR安装
Dec 05 PHP
解析php 版获取重定向后的地址(代码)
Jun 26 PHP
Codeigniter实现多文件上传并创建多个缩略图
Jun 12 PHP
PHP生成短网址的3种方法代码实例
Jul 08 PHP
php json_encode()函数返回json数据实例代码
Oct 10 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
Apr 14 PHP
PHP实现简单实用的分页类代码
Apr 08 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
Aug 01 PHP
PHP实现限制IP访问的方法
Apr 20 PHP
php实现的生成迷宫与迷宫寻址算法完整实例
Nov 06 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
一个MYSQL操作类
2006/11/16 PHP
php字符串截取问题
2006/11/28 PHP
php实现执行某一操作时弹出确认、取消对话框
2013/12/30 PHP
如何让thinkphp在模型中自动完成session赋值小教程
2014/09/05 PHP
php中让人头疼的浮点数运算分析
2016/10/10 PHP
stripos函数知识点实例分享
2019/02/11 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
2019/10/17 PHP
javascript:void(0)的真正含义实例分析
2008/08/20 Javascript
元素的内联事件处理函数的特殊作用域在各浏览器中存在差异
2011/01/12 Javascript
深入探究AngularJS框架中Scope对象的超级教程
2016/01/04 Javascript
基于canvas实现的绚丽圆圈效果完整实例
2016/01/26 Javascript
BootStrap树状图显示功能
2016/11/24 Javascript
Jquery循环截取字符串的方法(多出的字符串处理成&quot;...&quot;)
2016/11/28 Javascript
EsLint入门学习教程
2017/02/17 Javascript
微信小程序表单验证form提交错误提示效果
2020/06/19 Javascript
webpack项目使用eslint建立代码规范实现
2019/05/16 Javascript
javascript实现前端成语点击验证优化
2020/06/24 Javascript
webpack5 联邦模块介绍详解
2020/07/08 Javascript
Python回调函数用法实例详解
2015/07/02 Python
利用python将xml文件解析成html文件的实现方法
2017/12/22 Python
利用python在excel里面直接使用sql函数的方法
2019/02/08 Python
python添加菜单图文讲解
2019/06/04 Python
python实现Pyecharts实现动态地图(Map、Geo)
2020/03/25 Python
python中altair可视化库实例用法
2021/01/26 Python
解决pycharm不能自动保存在远程linux中的问题
2021/02/06 Python
澳大利亚首屈一指的在线购物目的地:Kogan.com
2017/02/02 全球购物
澳大利亚手表品牌:Time IV Change
2018/10/06 全球购物
Gloeilampgoedkoop荷兰:在线购买灯泡
2019/02/16 全球购物
《绿色蝈蝈》教学反思
2014/03/02 职场文书
2014年圣诞节促销方案
2014/03/14 职场文书
公司节能减排倡议书
2014/05/14 职场文书
化学专业大学生职业生涯规划范文
2014/09/13 职场文书
2014年稽查工作总结
2014/12/20 职场文书
毕业论文答辩开场白和答辩技巧
2015/05/27 职场文书
用React Native制作一个简单的游戏引擎
2021/05/27 Javascript