読者です 読者をやめる 読者になる 読者になる

Webデザインの勉強 ハロートレーニング 受講生のためのWebデザインの勉強補足ブログ

繰り返し - while文

while文(while statement)とは

  • 条件がtrueである限り、指定した文を繰り返し処理する



while(条件){
  処理;
  …
}

「商品が存在する」という条件がfalseになるまで、商品を表示することを繰り返します。
while文では処理を始める前に、商品が存在しなければ商品を表示する処理はおこなわれません。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>while文を使う</title>
</head>
<body>
<?php 
$i = 1;

while ( $i <= 5 ) {
  echo '商品 ' .$i. ' を表示します。<br>' . "\n";
  $i++;
}

  echo '商品は以上です。' . "\n";
?>
</body>
</html>


この処理内容は、以下のfor文の処理とまったく同じです。
このwhile文では、条件 $i < 5 が false になるまで繰り返し続けているからです。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>繰り返し回数を出力する</title>
</head>
<body>
<?php 
$i = 0;

for($i=0; $i<5; $i++){
  echo ('商品 ' .$i. ' を表示します。<br>' . "\n");
}

  echo ('<hr>' . "\n");
  echo ('商品は以上です。' . "\n");
?>
</body>
</html> 


ブロック内では条件が false に近づくように、変数 $i の値をインクリメントしています。


一般的に「繰り返し文」では、繰り返しをするかしないかを判断するための条件が変化するようにしておかないと、永遠に繰り返し処理が行われることになってしまいます。


以下の文の場合条件が変化しないため、何度繰り返しても false になりません。

  • while文の処理が永久に繰り返されプログラムが終了しなくなってしまいます。


《危険》
この記述はしないこと。

$i = 0;
while ($i < 5) {
   echo '商品' . $i . 'を表示します。<br>' . "\n";
}
  • 繰り返しの継続条件をもたせる
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>while文</title>
</head>
<body>
<?php
$a = 2;
$cont = 0;

while ( $cont < 6 ) {
  $a *= 2;
  echo $a. "<br>\n";
  $cont++;
}
?>
</body>
</html>


広告を非表示にする