質問: $dom->getElementsByTagName($array.$i4[$i3])->item(1); $value.$i4[] =$sampleNode->nodeValue; } } print_r($value1); /*2回目のループの$value1の配列になにも格納されていない 例えばnodeValueの結果得られるのがa~lであるとして、それぞれの配列に格納してあげたい value1=array("a","b","c"); value2=array("d","e","f","g"); value3=array("h,"i","j","k","l"); */ ```
回答: 質問のようなことをしたいというのは、おそらく決定的に設計とかコードの組み方に間違いがあるのだと思います。 例えばここ`$array.$i4[$i3]` 仮に $array に "$arr" $i4 と $i3 はループ変数なので、1 と 2 とします。 おそらくこう表現したいのですよね? $arr1[2] $arr という配列を名前別に定義していることが間違いです。 ここは $arr[1][2] と二次元配列で持つべきです。 訂正された質問に対する修正案 検証していませんが、こんな感じで配列を構成すればいいんじゃないでしょうか? ``` $array[] = array("A","B","C"); $array[] = array("D","E","F","G"); $array[] = array("H","I","J","K","L"); $value = array(); for ($i4 = 0; $i4 < count($array) ; $i4++) { for ($i3=0; $i3 < count($array[$i4]); $i3++) { $sampleNode = $dom->getElementsByTagName($array[$i4][$i3])->item(1); $value[$i4][] = $sampleNode->nodeValue; } } print_r($value[0]); print_r($value[1]); print_r($value[2]); ```