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环境配置 php5 mysql5 apache2 phpmyadmin安装与配置
Nov 17 PHP
写php分页时出现的Fatal error的解决方法
Apr 18 PHP
PHP的异常处理类Exception的使用及说明
Jun 13 PHP
php的POSIX 函数以及进程测试的深入分析
Jun 03 PHP
ThinkPHP之A方法实例讲解
Jun 20 PHP
20个2014年最优秀的PHP框架回顾
Oct 22 PHP
php检测图片主要颜色的方法
Jul 01 PHP
关于PHP开发的9条建议
Jul 27 PHP
PHP处理数组和XML之间的互相转换
Jun 02 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
Dec 05 PHP
PHP排序算法之快速排序(Quick Sort)及其优化算法详解
Apr 21 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生成便于打印的网页
2006/10/09 PHP
PHP函数之日期时间函数date()使用详解
2013/09/09 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
php成功操作redis cluster集群的实例教程
2019/01/13 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
关于PHP中interface的用处详解
2020/07/26 PHP
实现超用户体验 table排序javascript实现代码
2009/06/22 Javascript
jq选项卡鼠标延迟的插件实例
2013/05/13 Javascript
jQuery Trim去除字符串首尾空字符的实现方法说明
2014/02/11 Javascript
node.js中的fs.readdirSync方法使用说明
2014/12/17 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
JS组件Form表单验证神器BootstrapValidator
2016/01/26 Javascript
javascript实现随机生成DIV背景色
2016/06/20 Javascript
js严格模式总结(分享)
2016/08/22 Javascript
JS访问DOM节点方法详解
2016/11/29 Javascript
基于node下的http小爬虫的示例代码
2018/01/11 Javascript
从parcel.js打包出错到选择nvm的全部过程
2018/01/23 Javascript
小程序实现五星点评效果
2018/11/03 Javascript
js实现双色球效果
2020/08/02 Javascript
javascript实现图片轮换动作方法
2020/08/07 Javascript
python 请求服务器的实现代码(http请求和https请求)
2018/05/25 Python
在Pandas中给多层索引降级的方法
2018/11/16 Python
set在python里的含义和用法
2019/06/24 Python
python使用rsa非对称加密过程解析
2019/12/28 Python
PyTorch中permute的用法详解
2019/12/30 Python
解决TensorFlow模型恢复报错的问题
2020/02/06 Python
Python的3种运行方式:命令行窗口、Python解释器、IDLE的实现
2020/10/10 Python
值传递还是引用传递
2015/02/08 面试题
体育教育毕业生自荐信
2013/11/21 职场文书
小学岗位竞聘方案
2014/01/22 职场文书
讲解员培训方案
2014/05/04 职场文书
工地安全生产标语
2014/06/06 职场文书
个人租房协议书
2014/11/28 职场文书
考试作弊检讨书范文
2015/01/27 职场文书
2015年政治教研组工作总结
2015/07/22 职场文书
laravel ajax curd 搜索登录判断功能的实现
2021/04/17 PHP