質問編集履歴

2 誤字を修正

SugiuraY

SugiuraY score 202

2017/02/06 15:52  投稿

for文をネスト化する場合
お世話になります。
for文をネストで使用する場合、以下のコードのようにドットで連結して使用することはできないようですが、(条件式や処理の中の数字をループさせる)
なにか方法はございますでしょうか?
宜しくお願い申し上げます。
【追記】
具体的な目的を追記させて頂きます。
(1) 3つの配列があり、その要素の個数はそれぞれ可変となっております。下記の例では例えば10,20,30としておりますが、それらの個数をそれぞれ$num1,$num2,$num2に格納しております。
(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
$array1=array("A","B","C");
$array2=array("D","E","F","G");
$array3=array("H","I","J","K","L");
$num1=3;//count($array1)の結果
$num2=4;//count($array2)の結果
$num3=5;//count($array3)の結果
for ($i4=0; $i4 <3 ; $i4++) {
   for ($i3=0; $i3 <$num.$i4 ; $i3++)
   {
    $sampleNode = $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");
*/
```
  • PHP

    24037 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

1 内容および目的を具体的に記載いたしました。

SugiuraY

SugiuraY score 202

2017/02/06 15:51  投稿

for文をネスト化する場合
お世話になります。
for文をネストで使用する場合、以下のコードのようにドットで連結して使用することはできないようですが、(条件式や処理の中の数字をループさせる)
なにか方法はございますでしょうか?
宜しくお願い申し上げます。
【追記】  
具体的な目的を追記させて頂きます。  
(1) 3つの配列があり、その要素の個数はそれぞれ可変となっております。下記の例では例えば10,20,30としておりますが、それらの個数をそれぞれ$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
 
$array1=array("A","B","C");  
$array2=array("D","E","F","G");  
$array3=array("H","I","J","K","L");  
 
$num1=3;//count($array1)の結果  
$num2=4;//count($array2)の結果  
$num3=5;//count($array3)の結果  
 
for ($i4=0; $i4 <3 ; $i4++) {
   for ($i3=0; $i3 <$num.$i4 ; $i3++)
   {
    $sampleNode = $dom->getElementsByTagName($array.$i4[$i3])->item(1);
    $value.$i4[] =$sampleNode->nodeValue;
   }
}
print_r($value1);
//2回目のループの$value1の配列になにも格納されていない
/*2回目のループの$value1の配列になにも格納されていない
例えばnodeValueの結果得られるのがa~lであるとして、それぞれの配列に格納してあげたい
value1=array("a","b","c");
value2=array("d","e","f","g");
value3=array("h,"i","j","k","l");
*/
```
  • PHP

    24037 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る