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 相关文章推荐
JAVA/JSP学习系列之七
Oct 09 PHP
php cURL和Rolling cURL并发方式比较
Oct 30 PHP
利用phpexcel把excel导入数据库和数据库导出excel实现
Jan 09 PHP
php写的AES加密解密类分享
Jun 20 PHP
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
Jun 21 PHP
php图片的二进制转换实现方法
Dec 15 PHP
PHP使用PDO连接ACCESS数据库
Mar 05 PHP
THINKPHP支持YAML配置文件的设置方法
Mar 17 PHP
CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录
Mar 25 PHP
Session 失效的原因汇总及解决丢失办法
Sep 30 PHP
在IIS下安装PHP扩展的方法(超简单)
Apr 10 PHP
解决laravel 出现ajax请求419(unknown status)的问题
Sep 03 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/02/27 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
2017/06/02 PHP
PHP实现一个按钮点击上传多个图片操作示例
2020/01/23 PHP
关于jquery append() html时的小问题的解决方法
2010/12/16 Javascript
json的前台操作和后台操作实现代码
2012/01/20 Javascript
Jquery插件写法笔记整理
2012/09/06 Javascript
jquery ajax中使用jsonp的限制解决方法
2013/11/22 Javascript
JS保留两位小数,多位小数的示例代码
2014/01/07 Javascript
JavaScript实现的石头剪刀布游戏源码分享
2014/08/22 Javascript
jQuery不兼容input的change事件问题解决过程
2014/12/05 Javascript
JavaScript实现的背景自动变色代码
2015/10/17 Javascript
javascript中return,return true,return false三者的用法及区别
2015/11/17 Javascript
基于Nodejs利用socket.io实现多人聊天室
2017/02/22 NodeJs
js实现文字列表无缝滚动效果
2017/06/23 Javascript
老生常谈JavaScript面向对象基础与this指向问题
2017/10/16 Javascript
vant picker+popup 自定义三级联动案例
2020/11/04 Javascript
Python中逗号的三种作用实例分析
2015/06/08 Python
Python中map,reduce,filter和sorted函数的使用方法
2015/08/17 Python
对python pandas读取剪贴板内容的方法详解
2019/01/24 Python
对Django项目中的ORM映射与模糊查询的使用详解
2019/07/18 Python
python基础教程之while循环
2019/08/14 Python
Python 实现的 Google 批量翻译功能
2019/08/26 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
2020/06/23 Python
去加拿大的旅行和假期:Canadian Affair
2016/10/25 全球购物
小狗电器官方商城:中国高端吸尘器品牌
2017/03/29 全球购物
德国宠物用品、宠物食品及水族馆网上商店:ZooRoyal
2017/07/09 全球购物
澳大利亚墨水站Ink Station:墨水和碳粉打印机墨盒
2019/03/24 全球购物
巴西香水和化妆品购物网站:The Beauty Box
2019/09/03 全球购物
法国包包和行李箱销售网站:Bagage24.fr
2020/03/24 全球购物
简述使用ftp进行文件传输时的两种登录方式?它们的区别是什么?常用的ftp文件传输命令是什么?
2016/11/20 面试题
追悼会主持词
2014/03/20 职场文书
反腐倡廉警示教育活动总结
2014/05/05 职场文书
2015年五一劳动节演讲稿
2015/03/18 职场文书
学校2016年九九重阳节活动总结
2016/04/01 职场文书
nginx配置proxy_pass中url末尾带/与不带/的区别详解
2021/03/31 Servers
logback如何自定义日志存储
2021/08/30 Java/Android