0

連想配列を返す xml パーサーがあります。構造は次のとおりです。

<addresses id="123">
  <anonymous-address> <test>data 1 </test>
  </anonymous-address>
</addresses>

print_r($this->params) will return 
Array
(
    [addresses] => Array
        (
            [id] => 123
            [anonymous-address] => Array
                (
                    [0] => Array
                        (                                
                            [test] => Array
                                (
                                    [VALUE] => data 1
                                )))))

この配列は、次のように list() を介して渡されます。

list($root, $data) = $parsedXML;

次に、ルートから id 属性を取得して、次のように読み取ります。

$id = $data[$root]['id'];

編集:これは、400 の 1 つの $root 値を除くすべての値で機能します。このスイッチ ($root) のケースは、他のケースと同じコードを持っているため、なぜそこでのみエラーになるのかわかりません。

var_dump($root, $data) の出力

string (9)  "addresses"
array(1)  {
    ["addresses"]=>
    array(2)  {
        ["id"]=>
        string(3)  "123"
        ["anonymous-address"]=>
        array(1)  {
            ["VALUE"]=>
            string(7)  "data 1 "
        }
    }
}
4

1 に答える 1

0
$a = list($root, $data);

$aは次のようになります。

array(0 => $root, 1 => $data);

だからあなたはこれらをこのように得ることができます:

$a[0], $a[1]

おそらく

$id = $a[1][$a[0]]['id'];
于 2012-06-07T18:36:44.407 に答える