很抱歉,如果我在这里错过了答案,但我在所有属性问题之间找不到它。
我使用SimpleXML解析rss-feed并且在dev(xampp)中运行良好
的var_dump:
object(SimpleXMLElement)[672]
public '@attributes' =>
array (size=2)
'name' => string 'A name' (length=11)
'description' => string 'A very long desc' (length=12)
这对我来说非常适合开发:
$desc = (string) $xml->attributes()['description'];
...但不在我的网络服务器上。我找到了一个解决方案,适用于两种情况:
$v = 'description';
$desc = (string) $xml->attributes()->$v;
有人可以告诉我原因。这个版本有关系吗? 再次:对不起,之前已经问过这个问题。
编辑: 我刚刚发现,这也有效:
$a = $xml->attributes();
$desc = (string) $a['description'];
同样的问题: - )
答案 0 :(得分:2)
这与SimpleXML没有直接关系 - 只有从PHP版本5.4开始,才能使用functioncall()['key']
访问函数返回的数组内的元素。
http://www.php.net/manual/en/language.types.array.php:
“从PHP 5.4开始,可以直接对函数或方法调用的结果进行数组解除引用。之前只能使用临时变量。“