【PHP】繰り返し処理の使い方【for, while, do-while, foreach】
繰り返し処理とは?
繰り返し処理(ループ)とは、同じ処理を一定回数または条件が満たされるまで繰り返す処理のことです。PHPには以下の4種類のループがあります。
for
ループwhile
ループdo-while
ループforeach
ループ
forループ
for
ループは、決まった回数の繰り返しを行う場合に使用します。
基本構文
for (初期化; 条件; 更新) {
// 繰り返す処理
}
例:1から10までの数字を出力
for ($i = 1; $i <= 10; $i++) {
echo $i . " ";
}
whileループ
while
ループは、条件が真である限り繰り返します。
基本構文
while (条件) {
// 繰り返す処理
}
例:1から10までの数字を出力
$i = 1;
while ($i <= 10) {
echo $i . " ";
$i++;
}
do-whileループ
do-while
ループは、最低1回は必ず実行され、その後条件を評価します。
基本構文
do {
// 繰り返す処理
} while (条件);
例:1から10までの数字を出力
$i = 1;
do {
echo $i . " ";
$i++;
} while ($i <= 10);
foreachループ
foreach
ループは、配列の要素を順に処理するために使用します。
基本構文
foreach ($配列 as $値) {
// 繰り返す処理
}
例:配列の要素を順に出力
$fruits = ["りんご", "みかん", "バナナ"];
foreach ($fruits as $fruit) {
echo $fruit . " ";
}
ネストされたループ
ループの中に別のループを入れることを「ネスト」と呼びます。
例:九九の表を作成
for ($i = 1; $i <= 9; $i++) {
for ($j = 1; $j <= 9; $j++) {
echo $i * $j . " ";
}
echo "<br>";
}
breakとcontinue
break
はループを強制終了し、continue
はスキップして次の繰り返しへ進みます。
例:3でループを終了
for ($i = 1; $i <= 10; $i++) {
if ($i == 3) {
break;
}
echo $i . " ";
}
例:3をスキップ
for ($i = 1; $i <= 10; $i++) {
if ($i == 3) {
continue;
}
echo $i . " ";
}
無限ループ
条件を適切に設定しないと無限ループが発生します。
例:無限ループ
while (true) {
echo "無限ループ";
}
無限ループを防ぐ方法
$i = 0;
while ($i < 10) {
echo $i . " ";
$i++;
}
まとめ
for
:回数が決まっている場合に便利while
:条件を満たす限りループdo-while
:最低1回は実行foreach
:配列の要素を処理- ネストされたループ、
break
、continue
も活用