PHP - for
公開日:2020-12-22 更新日:2020-12-22
[PHP]
1. 概要
for を使うと、条件式を満たす間、処理を繰り返し実行することができます。
処理を繰り返すことをループと呼びます。
例えば、5回処理を実行したい場合には、以下のようにします。
そして、処理が行われる度に、$i++ で、$i の値を +1 しています。
-1 する場合は、$i-- とします。
処理を繰り返すことをループと呼びます。
for (変数の初期化; 条件式; 変数の増減) {
処理;
}
例えば、5回処理を実行したい場合には、以下のようにします。
for ($i = 1; $i <= 5; $i++) {
処理;
}
$i が 1 から始まり、$i が 5 以下の場合にループします。そして、処理が行われる度に、$i++ で、$i の値を +1 しています。
-1 する場合は、$i-- とします。
2. 多重ループ
for を入れ子にすることもできます。
次の例では、10回繰り返す処理を、5回繰り返すため、合計50回処理が実行されます。
次の例では、10回繰り返す処理を、5回繰り返すため、合計50回処理が実行されます。
for ($i = 1; $i <= 5; $i++) {
for ($j = 1; $j <= 10; $j++) {
処理;
}
}
3. ループ変数
for で使う変数のことをループ変数と呼びます。
呼び名が変わるだけで、普通の変数と同じです。
ループ変数は、通常、$i、$j、$k が使われます。
他の変数名を使っても問題ありませんが、$i を使うと、カウントアップしながら処理をしていると言うのが、すぐにわかります。
逆に、$i、$j, $k を他の用途で使うと、ループ変数と誤解する可能性があるため、注意する必要があります。
呼び名が変わるだけで、普通の変数と同じです。
ループ変数は、通常、$i、$j、$k が使われます。
他の変数名を使っても問題ありませんが、$i を使うと、カウントアップしながら処理をしていると言うのが、すぐにわかります。
逆に、$i、$j, $k を他の用途で使うと、ループ変数と誤解する可能性があるため、注意する必要があります。
4. 無限ループ
常に条件式を満たす場合は、処理が永遠に終わらなくなります。これを無限ループと呼びます。
次の例では、$i++ とするところを、$i-- にしているため、ループから抜け出せません。
次の例では、$i++ とするところを、$i-- にしているため、ループから抜け出せません。
for ($i = 1; $i <= 5; $i--) {
処理;
}
5. break
ループから途中で抜けたい場合は、breakを使います。
for ($i = 1; $i <= 10; $i++) {
if ($i == 5) break;
print($i);
}
実行結果。ループが最後まで回らずに、途中で終わっています。1234
6. continue
ループの処理の途中で、処理をスキップして次のループ処理に進ませたい場合は、continue を使います。
continue を実行すると、処理がループの先頭に戻り、ループ変数の増減が行われます。
continue を実行すると、処理がループの先頭に戻り、ループ変数の増減が行われます。
for ($i = 1; $i <= 10; $i++) {
if ($i == 5) continue;
print($i);
}
実行結果。5 の処理がスキップされています。1234678910
7. 使用例
for を使って階乗を求めます。
$n = 5; //階乗の値 5! = 1*2*3*4*5
$a = 1; //答え
for ($i = 1; $i <= $n; $i++) {
$a = $a * $i;
}
var_dump($a);
var_dump(1 * 2 * 3 * 4 * 5);
実行結果int(120)
int(120)