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!
        ?>

変数の node[0] が機能しないのはなぜですか? どうすれば解決できますか?

4

1 に答える 1

1

nodeアクセスするプロパティの実際のプロパティ名です。node[0]の代わりにを使用すると、配列の 0 番目のインデックスにアクセスする代わりに、node呼び出されたプロパティを探しました。基本的に、代わりに入力したかのように探しましたが(これはあなたが期待していることです)、それを見つけることができません。したがって、代わりに次のようなことを試してください。node[0]$xml->nodenode[0]$xml->{"node[0]"}node

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