PHP - while

公開日:2020-12-22 更新日:2020-12-22
[PHP]

1. 概要

while を使うと、条件式を満たす間、処理を繰り返し実行することができます。
for でも繰り返し処理はできますが、while は、繰り返す回数が実行するまで不明な場合や、ループ変数を使わない場合に使います。
for と同様に、break と continue も使えます。
while (条件式) {
  処理;
}

while (条件式) {
  if (~) continue;
  if (~) break;

  処理;
}

2. 使用例1

次の例は、動作を理解するためのものです。
通常このような場合は for を使います。
$i = 1;
while (10 >= $i) {
  print($i . " ");
  $i++;
}
実行結果
1 2 3 4 5 6 7 8 9 10

3. 使用例2

rand(1, 10) で 1 から 10 の間の乱数を取得して、1 が出るまでループします。
while (($n = rand(1, 10)) != 1) {
  print($n . " ");
}
実行結果
3 5 9 3 2 8 10 4 6

1行目の条件式がわかりづらいのですが、while を使う場合、この書き方をよくします。
まずは、一番括弧の深いところにある、乱数の代入が実行されます。
$n = rand(1, 10)
これで $n に乱数が入ります。
そしてこの後、内部では次のように置き換わると思ってください。
while ($n != 1) {
$n が 1 以外であればループ、
$n が 1 であればループから抜けます。

わかりやすく書き換えると、次のようになります。
$n = rand(1, 10);
while ($n != 1) {
  print($n . " ");
  
  $n = rand(1, 10); //次のループのための準備
}