SlideShare a Scribd company logo
1 of 9
Download to read offline
時間目
PHP
12
for文(ループ処理) 応用
for文のネスト
for文でも、if文同様に
ネスト(入れ子)を作ることが可能です。
ネスト(入れ子)とは、if文の中にif文があるプログラム、for文の中にfor文があるプログラムなどの事です。
{
}
for文と剰余のネスト
1~10までの数字で偶数のみを表示
index.php(phpファイル)
<?php
?> 1~10回目までループをまわし、
さらに、$iが2で割り切れる場合のみ
echoで、$iを表示。
$i % 2 ==0 は、“ $iを2で割った際に余りが0になる “という意味。
つまり、$iが偶数という意味。
for($i=1; $i<=10; $i++)
if($i % 2 == 0){
echo $i."<br>";}
2
4
6
8
10
for文と剰余のネスト 解説
① 外側のfor文の1を走らせる。1は10以下(=true)なので、
内側(=ネスト)にあるif文に進む。
⑦ 同様に処理を続け、外側のfor文で11を走らせ、falseになった時点でfor文が終了する。
② 内側のif文で、$i(=1) は 2で割り切れない(=false)ので、
外側のfor文に戻る。
外側のfor文 1回目
if文
③ 外側のfor文の2を走らせる。2は10以下(=true)なので、
内側(=ネスト)にあるif文に進む。
④ 内側のif文で、$i(=2) は2で割り切れる(=true)ので、
echoで、2を表示し、外側のfor文に戻る。
if文
外側のfor文 2回目
⑤ 外側のfor文の3を走らせる。3は10以下(=true)なので、
内側(=ネスト)にあるif文に進む。
⑥ 内側のif文で、$i(=3)は2で割り切れない(=false)ので、
外側のfor文に戻る。
if文
外側のfor文 3回目
for文とfor文のネスト
■外側のfor文1回目
index.php(phpファイル)
for($i=1; $i<=3; $i++) {
}
echo "■外側のfor文".$i."回目<br>";
for($a=1; $a<=3; $a++){
}
echo "内側のfor文“.$a."回目<br>";
■外側のfor文2回目
内側のfor文1回目
内側のfor文2回目
内側のfor文3回目
■外側のfor文3回目
内側のfor文1回目
内側のfor文2回目
内側のfor文3回目
内側のfor文2回目
内側のfor文1回目
内側のfor文3回目
<?php
?>
for文とfor文のネスト 解説
⑨ 内側のfor文で、1を走らせる。1は3以下(=true)なので、
echoで【 内側のfor文1回目 】が表示される。
① 外側のfor文の1を走らせる。1は3以下(=true)なので、処理に進む。
⑥ 内側のfor文で、4を走らせる。4は3以下ではない(=false)なので、
内側のfor文が終了し、外側のfor文に戻る。
⑧ 同様に処理を続け、外側のfor文で4を走らせ、falseになった時点でfor文が終了する。
⑦ 外側のfor文の2を走らせる。2は3以下(=true)なので、処理に進む。
③ 内側のfor文で、1を走らせる。1は3以下(=true)なので、
echoで【 内側のfor文1回目 】が表示される。
④ 内側のfor文で、2を走らせる。2は3以下(=true)なので、
echoで【 内側のfor文2回目 】が表示される。
⑤ 内側のfor文で、3を走らせる。3は3以下(=true)なので、
echoで【 内側のfor文3回目 】が表示される。
外側のfor文 1回目
外側のfor文 2回目
処理
② echoで【 外側のfor文1回目 】が表示される。
⑧ echoで【 外側のfor文2回目 】が表示される。
処理
for文とfor文のネスト
index.php(phpファイル)
<?php
for($i=1; $i<=3; $i++){
echo "■外側のfor文".$i."回目<br>"; }
for($a=1; $a<=3; $a++){
echo "内側for文".$a."回目<br>";}
?>
解説
前ページと比較をしてみましょう。for文の{}の場所が異なります。このfor文は、ネス
トになっていないのに注目してください。
■外側のfor文1回目
■外側のfor文2回目
■外側のfor文3回目
内側for文1回目
内側for文2回目
内側for文3回目
九九を表示する
index.php(phpファイル)
<?php
for($i =1; $i <= 9; $i ++){
for($a =1; $a<= 9; $a++){
echo $i * $a ;
}
echo "→".$i."の段<br>";
}
?>
123456789→1の段
24681012141618→2の段
369121518212427→3の段
4812162024283236→4の段
51015202530354045→5の段
61218243036424854→6の段
71421283542495663→7の段
81624324048566472→8の段
91827364554637281→9の段
九九の答えを1の段、2の段・・・ごとに表示し、
最後に →●の段と表示する。
「九九を表示する」の解説
① 外側のfor文の1を走らせる。1は9以下(=true)なので、処理に進みます。
④ 内側のfor文で、10を走らせる。10は9以下ではない(=false)なので、
内側のfor文が終了する。
⑤ echoで、【 →1の段 】と表示する。
② 内側のfor文で、1を走らせる。1は9以下(=true)なので、
echoで【 1 × 1の答えが 】が表示される。
③ 内側のfor文で、2を走らせる。2は9以下(=true)なので、
echoで【 1 × 2の答えが】が表示される。
外側のfor文 1回目
⑩ 同様に処理を続け、外側のfor文で10を走らせ、falseになった時点でfor文が終了する。
内側のfor文
1~9回目
処理
⑥ 外側のfor文の2を走らせる。2は9以下(=true)なので、処理に進みます。
⑧ 内側のfor文で、10を走らせる。10は9以下ではない(=false)なので、
内側のfor文が終了する。
⑨ echoで、【 →2の段 】と表示する。
⑦ 内側のfor文で、1を走らせる。1は9以下(=true)なので、
echoで【 2 × 1の答えが 】が表示される。
処理
内側のfor文
1~9回目
外側のfor文 2回目

More Related Content

What's hot

Python勉強会4-制御構文とパッケージ
Python勉強会4-制御構文とパッケージPython勉強会4-制御構文とパッケージ
Python勉強会4-制御構文とパッケージ理 小林
 
ちょっと詳しくJavaScript 第2回【関数と引数】
ちょっと詳しくJavaScript 第2回【関数と引数】ちょっと詳しくJavaScript 第2回【関数と引数】
ちょっと詳しくJavaScript 第2回【関数と引数】株式会社ランチェスター
 
詳説ぺちぺち
詳説ぺちぺち詳説ぺちぺち
詳説ぺちぺちdo_aki
 
Library login2
Library login2Library login2
Library login2Jun Chiba
 
C# linq入門 意図編
C# linq入門 意図編C# linq入門 意図編
C# linq入門 意図編Fujio Kojima
 
Ruby 同好会宣言
Ruby 同好会宣言Ruby 同好会宣言
Ruby 同好会宣言Yuya Takeyama
 
Good Parts of PHP and the UNIX Philosophy
Good Parts of PHP and the UNIX PhilosophyGood Parts of PHP and the UNIX Philosophy
Good Parts of PHP and the UNIX PhilosophyYuya Takeyama
 
F#入門 ~関数プログラミングとは何か~
F#入門 ~関数プログラミングとは何か~F#入門 ~関数プログラミングとは何か~
F#入門 ~関数プログラミングとは何か~Nobuhisa Koizumi
 
VS勉強会 .NET Framework 入門
VS勉強会 .NET Framework 入門VS勉強会 .NET Framework 入門
VS勉強会 .NET Framework 入門kamukiriri
 
はじめてのPHP
はじめてのPHPはじめてのPHP
はじめてのPHPGo Tanaka
 
PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門kwatch
 
PHPの今とこれから2021
PHPの今とこれから2021PHPの今とこれから2021
PHPの今とこれから2021Rui Hirokawa
 
apg4b 4.05 ポインタ
apg4b 4.05 ポインタapg4b 4.05 ポインタ
apg4b 4.05 ポインタAPG4b
 

What's hot (15)

Levenshtein Automata
Levenshtein AutomataLevenshtein Automata
Levenshtein Automata
 
Python勉強会4-制御構文とパッケージ
Python勉強会4-制御構文とパッケージPython勉強会4-制御構文とパッケージ
Python勉強会4-制御構文とパッケージ
 
ちょっと詳しくJavaScript 第2回【関数と引数】
ちょっと詳しくJavaScript 第2回【関数と引数】ちょっと詳しくJavaScript 第2回【関数と引数】
ちょっと詳しくJavaScript 第2回【関数と引数】
 
詳説ぺちぺち
詳説ぺちぺち詳説ぺちぺち
詳説ぺちぺち
 
Library login2
Library login2Library login2
Library login2
 
C# linq入門 意図編
C# linq入門 意図編C# linq入門 意図編
C# linq入門 意図編
 
Ruby 同好会宣言
Ruby 同好会宣言Ruby 同好会宣言
Ruby 同好会宣言
 
Good Parts of PHP and the UNIX Philosophy
Good Parts of PHP and the UNIX PhilosophyGood Parts of PHP and the UNIX Philosophy
Good Parts of PHP and the UNIX Philosophy
 
F#入門 ~関数プログラミングとは何か~
F#入門 ~関数プログラミングとは何か~F#入門 ~関数プログラミングとは何か~
F#入門 ~関数プログラミングとは何か~
 
VS勉強会 .NET Framework 入門
VS勉強会 .NET Framework 入門VS勉強会 .NET Framework 入門
VS勉強会 .NET Framework 入門
 
はじめてのPHP
はじめてのPHPはじめてのPHP
はじめてのPHP
 
PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門
 
PHPの今とこれから2021
PHPの今とこれから2021PHPの今とこれから2021
PHPの今とこれから2021
 
apg4b 4.05 ポインタ
apg4b 4.05 ポインタapg4b 4.05 ポインタ
apg4b 4.05 ポインタ
 
F#のすすめ
F#のすすめF#のすすめ
F#のすすめ
 

Php 12時間目(for文(ループ処理)応用)