1

我的代码

<?php
        $a = 'node'
        $xml = simplexml_load_file('config.xml');
        echo $xml->node //work fine
        echo $xml->{$a};  //also work fine
        ?>

<?php
        $a = 'node[0]'
        $xml = simplexml_load_file('config.xml');
        echo $xml->node[0] //work fine
        echo $xml->{$a};  //DOESNT WORK!
        ?>

为什么变量中的节点 [0] 不起作用?我该如何解决?

4

1 回答 1

1

node是您要访问的属性的实际属性名称。当您使用node[0]instead of 时node,它会查找被调用的属性,node[0]而不是访问数组的第 0 个索引$xml->node。基本上,它看起来node[0]好像您键入$xml->{"node[0]"}而不是node(这是您期望做的),但它找不到它。所以你想尝试这样的事情:

echo $xml->{$a}[0];
于 2012-10-04T22:30:42.840 回答