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采集相关教程之一 CURL函数库
Feb 15 PHP
数据库中排序的对比及使用条件详解
Feb 23 PHP
php获取服务器端mac和客户端mac的地址支持WIN/LINUX
May 15 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
Oct 21 PHP
php的mssql数据库连接类实例
Nov 28 PHP
php实现统计网站在线人数的方法
May 12 PHP
php防止网站被攻击的应急代码
Oct 21 PHP
php实现smarty模板无限极分类的方法
Dec 07 PHP
PHP不使用递归的无限级分类简单实例
Nov 05 PHP
Zend Framework校验器Zend_Validate用法详解
Dec 09 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
May 19 PHP
PHP 中魔术常量的实例详解
Oct 26 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
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
2006/10/09 PHP
PHP 高级课程笔记 面向对象
2009/06/21 PHP
java模拟PHP的pack和unpack类
2016/04/13 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
JS+XML 省份和城市之间的联动实现代码
2009/10/14 Javascript
js Form.elements[i]的使用实例
2011/11/13 Javascript
无刷新预览所选择的图片示例代码
2014/04/02 Javascript
轻松创建nodejs服务器(10):处理上传图片
2014/12/18 NodeJs
基于jQuey实现鼠标滑过变色(整行变色)
2015/12/07 Javascript
JavaScript Date对象详解
2016/03/01 Javascript
Dojo获取下拉框的文本和值实例代码
2016/05/27 Javascript
Mvc提交表单的四种方法全程详解
2016/08/10 Javascript
JavaScript的兼容性与调试技巧
2016/11/22 Javascript
vue-cli+webpack在生成的项目中使用bootstrap实例代码
2017/05/26 Javascript
基于jstree使用AJAX请求获取数据形成树
2017/08/29 Javascript
浅谈NodeJs之数据库异常处理
2017/10/25 NodeJs
浅谈vue后台管理系统权限控制思考与实践
2018/12/19 Javascript
vue实现简单的登录弹出框
2020/10/26 Javascript
[05:20]卡尔工作室_DOTA2新手教学_DOTA2超强新手功能
2013/04/22 DOTA
Python中urllib2模块的8个使用细节分享
2015/01/01 Python
完美解决pycharm导入自己写的py文件爆红问题
2020/02/12 Python
Python使用jpype模块调用jar包过程解析
2020/07/29 Python
python实现图片转字符画
2021/02/19 Python
Html5之自定义属性(data-,dataset)
2019/11/19 HTML / CSS
澳大利亚珠宝商:Shiels
2019/10/06 全球购物
大整数数相乘的问题
2012/07/22 面试题
JPA的优势都有哪些
2013/07/04 面试题
大学生年度自我鉴定
2013/10/31 职场文书
总经理文秘岗位职责
2014/02/03 职场文书
产品质量承诺书范文
2014/03/27 职场文书
暑期培训班招生方案
2014/08/26 职场文书
党员个人剖析材料
2014/09/30 职场文书
齐云山导游词
2015/02/06 职场文书
乡镇安全生产月活动总结
2015/05/08 职场文书
学困生转化工作总结
2015/08/13 职场文书
Android Studio实现带三角函数对数运算功能的高级计算器
2022/05/20 Java/Android