PHP newSimpleXMLElement返回属性值,而不是节点值


PHP newSimpleXMLElement returns attribute value instead of node value

通过var_dump():的基本$user对象

object(SimpleXMLElement)#191 (5) { 
    ["@attributes"]=> array(1) { 
        ["size"]=> string(5) "small" 
    } 
    [0]=> string(50) "userserve-ak.last.fm/serve/34/100389411.jpg" 
    [1]=> string(50) "userserve-ak.last.fm/serve/64/100389411.jpg" 
    [2]=> string(51) "userserve-ak.last.fm/serve/126/100389411.jpg" 
    [3]=> string(51) "userserve-ak.last.fm/serve/252/100389411.jpg" 
}

我想使用$link->user[0]; 获得第一个链接:userserve-ak.last.fm/serve/34/100389411.jpg

但不是我接收到的链接:object(SimpleXMLElement)#190 (1) { ["@attributes"]=> array(1) { ["size"]=> string(5) "small" } }

首先,当你问这个问题时,这可能是一个拼写错误,但是。。

 $link->$user[0];

应该是

 $link->user[0];

而且。。为什么不使用正则数组?

你可以。。

$user = json_decode(json_encode($link->user),true);

然后$user[0]将包含您的链接。