PHP将XML转数组过程详解


Posted in PHP onNovember 13, 2013

得到一个xml型的对象:

$resp = $this->c->execute($req, $sessionKey);//获得xml对象
$items=$resp->items;

那么读取对象的值,就用$items->item,或者$items->item->price,如此操作很不方便,不符合php操作数组的习惯。

php提供了array方法将对象转换成数组,只要把你要转换数组的对象前面加上(array)就行了。

比如将$items->item(有很多item的对象)转换成数组:

foreach ($items->item as $item){
         $goods[]=(array)$item;
}

$goods就是一个php数组了。
转换前:
SimpleXMLElement Object
(
    [cid] => 50003793
    [modified] => 2013-04-18 17:16:25
    [nick] => qq307819623
    [price] => 200.00
    [title] => Nokia N97全新行货
)
SimpleXMLElement Object
(
    [cid] => 50024921
    [modified] => 2013-04-18 16:58:06
    [nick] => qq307819623
    [pic_url] =>pic.jpg
    [price] => 888888.00
    [title] => 刘俊仲
)
SimpleXMLElement Object
(
    [cid] => 1512
    [modified] => 2013-04-18 16:56:46
    [nick] => qq307819623
    [pic_url] => item_pic.jpg
    [price] => 323232.00
    [title] => 二手你好
)
SimpleXMLElement Object
(
    [cid] => 50012166
    [modified] => 2013-04-18 15:10:07
    [nick] => qq307819623
    [pic_url] =>0-item_pic.jpg
    [price] => 32.00
    [title] => 放大率拉德斯基分拉沙德疯了似的看法拉斯法
)

转换后:
Array
(
    [0] => Array
        (
            [cid] => 50003793
            [modified] => 2013-04-18 17:16:25
            [nick] => qq307819623
            [price] => 200.00
            [title] => Nokia N97全新行货
        )    [1] => Array
        (
            [cid] => 50024921
            [modified] => 2013-04-18 16:58:06
            [nick] => qq307819623
            [pic_url] => pic.jpg
            [price] => 888888.00
            [title] => 刘俊仲
        )
    [2] => Array
        (
            [cid] => 1512
            [modified] => 2013-04-18 16:56:46
            [nick] => qq307819623
            [pic_url] =>item_pic.jpg
            [price] => 323232.00
            [title] => 二手你好
        )
    [3] => Array
        (
            [cid] => 50012166
            [modified] => 2013-04-18 15:10:07
            [nick] => qq307819623
            [pic_url] => 0-item_pic.jpg
            [price] => 32.00
            [title] => 放大率拉德斯基分拉沙德疯了似的看法拉斯法
        )
PHP 相关文章推荐
PHP 数字左侧自动补0
Mar 31 PHP
php foreach、while性能比较
Oct 15 PHP
用Zend Encode编写开发PHP程序
Feb 21 PHP
smarty获得当前url的方法分享
Feb 14 PHP
PHP小教程之实现链表
Jun 09 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
Mar 02 PHP
Yii中Model(模型)的创建及使用方法
Dec 28 PHP
分享php多功能图片处理类
May 15 PHP
yii2中结合gridview如何使用modal弹窗实例代码详解
Jun 12 PHP
PHP实现的分解质因数操作示例
Aug 01 PHP
PDO::exec讲解
Jan 28 PHP
PHP MVC框架中类的自动加载机制实例分析
Sep 18 PHP
PHP生成sitemap.xml地图函数
Nov 13 #PHP
使用PHP静态变量当缓存的方法
Nov 13 #PHP
使用phpQuery采集网页的方法
Nov 13 #PHP
phpQuery占用内存过多的处理方法
Nov 13 #PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
Nov 13 #PHP
php堆排序(heapsort)练习
Nov 13 #PHP
php生成EAN_13标准条形码实例
Nov 13 #PHP
You might like
怎样在PHP中通过ADO调用Asscess数据库和COM程序
2006/10/09 PHP
php4与php5的区别小结(配置异同)
2011/12/20 PHP
PHP防止post重复提交数据的简单例子
2014/06/07 PHP
PHP解析RSS的方法
2015/03/05 PHP
PHP使用DirectoryIterator显示下拉文件列表的方法
2015/03/13 PHP
php ajax异步读取rss文档数据
2016/03/29 PHP
PHP针对中英文混合字符串长度判断及截取方法示例
2017/03/31 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
关于jquery动态增减控件的一些想法和小插件
2010/08/01 Javascript
Jquery 过滤器(first,last,not,even,odd)的使用
2014/01/22 Javascript
纯js实现遮罩层效果原理分析
2014/05/27 Javascript
node.js中的fs.fstatSync方法使用说明
2014/12/15 Javascript
JavaScript动态加载样式表的方法
2015/03/21 Javascript
JavaScript中解析JSON数据的三种方法
2015/07/03 Javascript
基于JQuery实现图片轮播效果(焦点图)
2016/02/02 Javascript
深入理解angularjs过滤器
2016/05/25 Javascript
AngularJS入门教程之AngularJS 模板
2016/08/18 Javascript
jquery动态添加文本并获取值的方法
2016/10/12 Javascript
ajax接收后台数据在html页面显示
2017/02/19 Javascript
Vue组件tree实现树形菜单
2017/04/13 Javascript
微信小程序如何获取openid及用户信息
2018/01/26 Javascript
[58:23]LGD vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python直接访问私有属性的简单方法
2016/07/25 Python
python微信跳一跳系列之棋子定位颜色识别
2018/02/26 Python
Python面向对象之继承和多态用法分析
2019/06/08 Python
利用Python脚本批量生成SQL语句
2020/03/04 Python
python下载的库包存放路径
2020/07/27 Python
墨尔本复古时尚品牌:Dangerfield
2018/12/12 全球购物
do you have any Best Practice for testing
2016/06/04 面试题
测绘工程专业个人自我评价
2013/12/01 职场文书
园林毕业生自我鉴定范文
2013/12/29 职场文书
婚纱摄影师求职信
2014/03/07 职场文书
店长岗位职责
2015/02/11 职场文书
社区党支部公开承诺书
2015/04/29 职场文书
tensorflow+k-means聚类简单实现猫狗图像分类的方法
2021/04/28 Python
Python通过loop.run_in_executor执行同步代码 同步变为异步
2022/04/11 Python