お世話になります。
for文をネストで使用する場合、以下のコードのようにドットで連結して使用することはできないようですが、(条件式や処理の中の数字をループさせる)
なにか方法はございますでしょうか?
宜しくお願い申し上げます。
【追記】
具体的な目的を追記させて頂きます。
(1) 3つの配列があり、その要素の個数はそれぞれ可変となっております。下記の例では例えば3,4,5としておりますが、それらの個数をそれぞれ$num1,$num2,$num2に格納しております。
(2)要素の個数に併せて内側のfor文で目的とする値を取得させます。
$sampleNode = $dom->getElementsByTagName($array.$i4[$i3])->item(1);
$value.$i4[] =$sampleNode->nodeValue;
(3)(2)で取得した値を改めて$value1,$value2,value3の配列に入れてあげます。
(4)$array、$num、$valueの個数が示している通り、及び内容及びその要素の個数が異なる配列が3つあるが、処理したい内容は同じであるため。外側のfor文で3回ループさせています。またこれを実現するためにそれぞれの変数の末尾に1,2,3の連番を付しました。
PHP
1 2$array1=array("A","B","C"); 3$array2=array("D","E","F","G"); 4$array3=array("H","I","J","K","L"); 5 6$num1=3;//count($array1)の結果 7$num2=4;//count($array2)の結果 8$num3=5;//count($array3)の結果 9 10 for ($i4=0; $i4 <3 ; $i4++) { 11 12 for ($i3=0; $i3 <$num.$i4 ; $i3++) 13 { 14 $sampleNode = $dom->getElementsByTagName($array.$i4[$i3])->item(1); 15 $value.$i4[] =$sampleNode->nodeValue; 16 } 17} 18 19print_r($value1); 20/*2回目のループの$value1の配列になにも格納されていない 21例えばnodeValueの結果得られるのがa~lであるとして、それぞれの配列に格納してあげたい 22value1=array("a","b","c"); 23value2=array("d","e","f","g"); 24value3=array("h,"i","j","k","l"); 25*/
回答2件
あなたの回答
tips
プレビュー