PHP将XML转数组过程详解
本文讲的是用PHP将XML对象转换成数组的方法,得到一个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] => 二手你好
- ) //phpfensi.com
- 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] => 放大率拉德斯基分拉沙德疯了似的看法拉斯法
- )