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和ACCESS写聊天室(十)
Oct 09 PHP
Apache2 httpd.conf 中文版
Dec 06 PHP
用PHP实现的生成静态HTML速度快类库
Mar 31 PHP
PHPMailer使用教程(PHPMailer发送邮件实例分析)
Dec 06 PHP
php smarty模板引擎的6个小技巧
Apr 24 PHP
php中关于socket的系列函数总结
May 18 PHP
php实现XSS安全过滤的方法
Jul 29 PHP
php实现的debug log日志操作类实例
Jul 12 PHP
老生常谈PHP位运算的用途
Mar 12 PHP
PHP基于SimpleXML生成和解析xml的方法示例
Jul 17 PHP
TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例
May 29 PHP
使用git迁移Laravel项目至新开发环境的步骤详解
Apr 06 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
php4的session功能评述(三)
2006/10/09 PHP
Laravel 4 初级教程之安装及入门
2014/10/30 PHP
PHP基于CURL进行POST数据上传实例
2014/11/10 PHP
php设计模式之代理模式分析【星际争霸游戏案例】
2020/03/23 PHP
js数组转json并在后台对其解析具体实现
2013/11/20 Javascript
js中数组排序sort方法的原理分析
2014/11/20 Javascript
用JavaScript实现对话框的教程
2015/06/04 Javascript
jQuery插件ajaxFileUpload使用详解
2017/01/10 Javascript
原生js实现轮播图
2017/02/27 Javascript
详解使用VueJS开发项目中的兼容问题
2018/08/02 Javascript
Node.js npm命令运行node.js脚本的方法
2018/10/10 Javascript
详解Bootstrap 学习(一)入门
2019/04/12 Javascript
Vue.js组件通信之自定义事件详解
2019/10/19 Javascript
vue遍历生成的输入框 绑定及修改值示例
2019/10/30 Javascript
微信小程序实现音乐播放器
2019/11/20 Javascript
Vue页面手动刷新,实现导航栏激活项还原到初始状态
2020/08/06 Javascript
解决vue prop传值default属性如何使用,为何不生效的问题
2020/09/21 Javascript
解决vue页面刷新,数据丢失的问题
2020/11/24 Vue.js
[36:22]VP vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[05:59]带你看看DPC的台前幕后
2021/03/11 DOTA
python中随机函数random用法实例
2015/04/30 Python
Python简明入门教程
2015/08/04 Python
使用python和pygame绘制繁花曲线的方法
2018/02/24 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
2018/03/29 Python
Flask-Mail用法实例分析
2018/07/21 Python
python 从文件夹抽取图片另存的方法
2018/12/04 Python
Python 根据日志级别打印不同颜色的日志的方法示例
2019/08/08 Python
CSS3 flex布局之快速实现BorderLayout布局
2015/12/03 HTML / CSS
2014年质检员工作总结
2014/11/18 职场文书
2015年护士节活动策划方案
2015/05/04 职场文书
预备党员考察意见范文
2015/06/01 职场文书
钢铁是怎样炼成的读书笔记
2015/06/29 职场文书
python基于OpenCV模板匹配识别图片中的数字
2021/03/31 Python
详解Vue的列表渲染
2021/11/20 Vue.js
教你部署vue项目到docker
2022/04/05 Vue.js
Java详细解析==和equals的区别
2022/04/07 Java/Android