【问题标题】:Arrays Simplexml accessing attributes different ways数组 Simplexml 以不同方式访问属性
【发布时间】:2013-03-26 07:05:57
【问题描述】:

对不起,如果我错过了这里的答案,但我真的无法在所有属性问题之间找到它。

我使用 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'];

同样的问题:-)

【问题讨论】:

    标签: php arrays attributes simplexml


    【解决方案1】:

    这与 SimpleXML 没有直接关系——只有在 PHP 5.4 之后才能使用 functioncall()['key'] 访问 函数返回的数组中的元素

    http://www.php.net/manual/en/language.types.array.php

    “从 PHP 5.4 开始,可以直接对函数或方法调用的结果进行数组取消引用。以前只能使用临时变量。”

    【讨论】:

    • 非常感谢。我知道这很容易。对我来说新的是,我在开发中使用 php5.4! :-) 我更新了标签和标题并添加了“数组”
    猜你喜欢
    • 2013-12-23
    • 1970-01-01
    • 1970-01-01
    • 2012-07-11
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 2020-01-27
    • 2019-04-06
    相关资源
    最近更新 更多