2016-05-20 7 views
1

配列を作成しています($subArray)。この配列は、XML文書から取得した$child->getName() => $childで埋めなければなりません。配列作成時にforeachループを使用する方法

$subArray = array(
    foreach($person->children() as $child){ 
    $child->getName() => $child; 
    } 
); 

しかしarray_pushを使用しているとき、私は=>を使用することはできませんので、これは、動作するようには思えない、と私は、アレイ内のforeachループを使用することはできません。これをどうすれば解決できますか?

これは私の全体の機能である:

function get_xml_arr($xmlURL){ 

    $xml=simplexml_load_file($xmlURL) or die ("XML not found"); 

    $array = array(); 

    foreach($xml->person as $person){ 
    $subArray = array(
     foreach($person->children() as $child){ 
     $child->getName() => $child; 
     } 
    ); 
    array_push($array, $subArray); 
    } 

    return $array; 

} 

答えて

2

あなたは

$subArray = array(); 
foreach($xml->person as $person) { 
    foreach($person->children() as $child) 
     $subArray[$child->getName()] = $child; 
    $array[] = $subArray; 
} 
+0

非常に素晴らしいああ、このような方法で配列のインデックスとして$チャイルド>のgetName()を使用することができます!どうもありがとうございました! –

+0

は言及していません。がんばろう! – splash58

関連する問題