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数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
Oct 29 PHP
PHP下打开phpMyAdmin出现403错误的问题解决方法
May 23 PHP
理解PHP中的stdClass类
Apr 18 PHP
ThinkPHP行为扩展Behavior应用实例详解
Jul 22 PHP
php实现的Timer页面运行时间监测类
Sep 24 PHP
PHP Streams(流)详细介绍及使用
May 12 PHP
php实现统计网站在线人数的方法
May 12 PHP
phalcon model在插入或更新时会自动验证非空字段的解决办法
Dec 29 PHP
PHP实现的登录页面信息提示功能示例
Jul 24 PHP
Windows平台实现PHP连接SQL Server2008的方法
Jul 26 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
Mar 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
php文件缓存类汇总
2014/11/21 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
2020/01/25 PHP
laravel5.6 框架邮件队列database驱动简单demo示例
2020/01/26 PHP
Jquery Ajax学习实例 向页面发出请求,返回XML格式数据
2010/03/14 Javascript
JS操作HTML自定义属性的方法
2015/02/10 Javascript
Javascript实现颜色rgb与16进制转换的方法
2015/04/18 Javascript
js获取表格的行数和列数的方法
2015/10/23 Javascript
javascript实现二级级联菜单的简单制作
2015/11/19 Javascript
JS实现页面载入时随机显示图片效果
2016/09/07 Javascript
Jquery鼠标放上去显示全名的实现方法
2017/02/06 Javascript
Require.JS中的几种define定义方式示例
2017/06/01 Javascript
React Native如何消除启动时白屏的方法
2017/08/08 Javascript
react中的ajax封装实例详解
2017/10/17 Javascript
vue v-for 使用问题整理小结
2019/08/04 Javascript
深入了解JavaScript 防抖和节流
2019/09/12 Javascript
Vue组件间数据传递的方式(3种)
2020/07/13 Javascript
使用Element的InfiniteScroll 无限滚动组件报错的解决
2020/07/27 Javascript
Vue中使用Echarts仪表盘展示实时数据的实现
2020/11/01 Javascript
[02:27]2018DOTA2亚洲邀请赛趣味视频之钓鱼大赛 谁是垂钓冠军?
2018/04/05 DOTA
Flask数据库迁移简单介绍
2017/10/24 Python
Python复制Word内容并使用格式设字体与大小实例代码
2018/01/22 Python
Django 连接sql server数据库的方法
2018/06/30 Python
Python之指数与E记法的区别详解
2019/11/21 Python
使用python的pyplot绘制函数实例
2020/02/13 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
2020/03/18 Python
Bibloo奥地利:购买女装、男装、童装、鞋和配件
2018/10/18 全球购物
计算机专业推荐信范文
2013/11/20 职场文书
名企HR怎样看待求职信
2014/02/23 职场文书
就业意向书范文
2014/04/01 职场文书
小学生节约用水倡议书
2014/05/15 职场文书
会计试用期自我评价
2014/09/19 职场文书
党员教师群众路线个人整改措施
2014/10/28 职场文书
学校中秋节活动总结
2015/03/23 职场文书
2015年酒店前台工作总结
2015/04/20 职场文书
世界十大评分最高的动漫,CLANNAD上榜,第八赚足人们眼泪
2022/03/18 日漫
Win11跳过联网界面创建本地管理账户的3种方法
2022/04/20 数码科技