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 相关文章推荐
基于asp+ajax和数据库驱动的二级联动菜单
May 06 PHP
关于svn冲突的解决方法
Jun 21 PHP
国外十大最流行的PHP框架排名
Jul 04 PHP
php多用户读写文件冲突的解决办法
Nov 06 PHP
php使用PDO操作MySQL数据库实例
Dec 30 PHP
php实现批量修改文件名称的方法
Jul 23 PHP
php微信公众平台配置接口开发程序
Sep 22 PHP
php导出csv文件,可导出前导0实例代码
Nov 16 PHP
PHP实现添加购物车功能
Mar 06 PHP
PHP使用redis位图bitMap 实现签到功能
Oct 08 PHP
php适配器模式简单应用示例
Oct 23 PHP
PHP获取php,mysql,apche的版本信息及更多服务器信息
Mar 09 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下防止单引号,双引号在接受页面转义的设置方法
2008/09/25 PHP
php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
2011/10/29 PHP
WordPress中调试缩略图的相关PHP函数使用解析
2016/01/07 PHP
JavaScript的继承的封装介绍
2013/10/15 Javascript
javascript break指定标签打破多层循环示例
2014/01/20 Javascript
javascript 实现子父窗体互相传值的简单实例
2014/02/17 Javascript
在JavaScript中重写jQuery对象的方法实例教程
2014/08/25 Javascript
浅谈Javascript中的函数、this以及原型
2016/10/09 Javascript
AngularJS实现在ng-Options加上index的解决方法
2016/11/03 Javascript
vue的状态管理模式vuex
2017/11/30 Javascript
使用node打造自己的命令行工具方法教程
2018/03/26 Javascript
JS执行控制之节流模式实例分析
2018/12/21 Javascript
angular6 填坑之sdk的方法
2018/12/27 Javascript
JS eval代码快速解密实例解析
2020/04/23 Javascript
django 按时间范围查询数据库实例代码
2018/02/11 Python
Python使用OpenCV进行标定
2018/05/08 Python
python 实现得到当前时间偏移day天后的日期方法
2018/12/31 Python
python定时检测无响应进程并重启的实例代码
2019/04/22 Python
pandas的qcut()方法详解
2019/07/06 Python
python求加权平均值的实例(附纯python写法)
2019/08/22 Python
OpenCV 之按位运算举例解析
2020/06/19 Python
如何利用Python写个坦克大战
2020/11/18 Python
python statsmodel的使用
2020/12/21 Python
使用CSS Grid布局实现网格的流动
2014/12/30 HTML / CSS
Reebonz中国官网:新加坡奢侈品购物网站
2017/03/17 全球购物
物流专业大学生求职信范文
2013/10/28 职场文书
平安家庭示范户事迹
2014/06/02 职场文书
教师自我剖析材料范文
2014/09/30 职场文书
法人代表证明书格式
2014/10/01 职场文书
法院四风对照检查材料思想汇报
2014/10/06 职场文书
营业员岗位职责范本
2015/04/14 职场文书
生日祝酒词大全
2015/08/10 职场文书
2019年年中职场激励人心语录30条
2019/08/07 职场文书
Go语言基础函数基本用法及示例详解
2021/11/17 Golang
springboot 自定义配置 解决Boolean属性不生效
2022/03/18 Java/Android
Nginx 常用配置
2022/05/15 Servers