>백엔드 개발 >PHP 튜토리얼 >PHP将XML转数组过程详解_PHP

PHP将XML转数组过程详解_PHP

WBOY
WBOY원래의
2016-06-01 11:57:371045검색

得到一个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] => 放大率拉德斯基分拉沙德疯了似的看法拉斯法
        )

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.