while文とは
while (条件式){ 処理 } |
- 条件式がtrueの間、処理を繰り返します。
- 条件式がfalseの場合、処理を終了します。
- 最初の判定がfalseの場合、処理は1回も実行されません。
- 処理に条件式をfalseにするロジックがないと無限ループになるので注意が必要です。
while文のサンプル
<?php
$num = 0;
while ($num < 5){
echo "$num"; //0,1,2,3,4が出力される
$num ++;
}
4行目は値が5より小さい間、処理を繰り返します。
6行目は、条件になる値を加算しています。
HTMLにwhile文を書く時
<?php $num = 0; ?>
<?php while ($num < 5) : ?>
<p><?= "$num" ?></p><!-- 0 1 2 3 4が出力される -->
<?php $num++; ?>
<?php endwhile; ?>
3~9行目がwhile文です。
3行目のwhileの後ろには、コロン:がついています。
9行目は、endwhileがあります。while文の終わりが、わかりやすくなっています。
while文 ループを抜ける(break)
<?php
$num = 0;
while (true){
if ($num === 3) {
break;
}
echo "$num"; //0,1,2が出力される
$num ++;
}
6行目のbreakは、4~10行目のwhile文を抜けます。
4行目は、条件をtrueにしています。breakがないと無限ループになるので注意して下さい。
2重ループを抜ける
<?php
$num = 0;
while (true) {
while (true) {
if ($num === 3) {
break 2;
}
echo "$num"; //0,1,2が出力される
$num++;
}
}
echo "終了"; //出力される
6行目は、breakの引数に2を指定しています。外側のwhile文を抜けます。
PHPの5.4.0からbreakの引数に変数を渡すことができなくなりました。
while文 ループの先頭に戻る(continue)
<?php
$i = 0;
while ($i < 5){
if ($i === 3) {
$i ++;
continue;
}
echo "$i"; //0,1,2,4が出力される
$i ++;
}
7行目のcontinueは、次は4行目を実行します。そのため9行目は実行されません。
このサンプルでは6行目の加算がないと無限ループになるので注意して下さい。
while文で配列を使用する
<?php
$arr1 = ['red', 'yellow', 'blue'];
$size = count($arr1);
$i = 0;
while ($i < $size) {
echo $arr1[$i]; //red yellow blue
$i++;
}
2行目は、配列です。
3行目は、countで配列の要素数を取得しています。
do…while文とは
do{ 処理 } while (条件式); |
- 条件式がtrueの間、処理を繰り返します。
- 条件式がfalseの場合、処理を終了します。
- 必ず1回は処理が実行されます。
- 処理に条件式をfalseにするロジックがないと無限ループになるので注意が必要です。
do…while文のサンプル
<?php
$num = 0;
do{
echo $num; //0,1,2,3,4が出力される
$num ++;
}while ($num < 5);
7行目は値が5より小さい間、処理を繰り返します。
do...while文 ループを抜ける(break)
<?php
$num = 0;
do{
if ($num === 3) {
break;
}
echo $num; // 0,1,2が出力される
$num ++;
}while (true);
6行目のbreakは、do...while文を抜けます。
10行目は、条件をtrueにしています。breakがないと無限ループになるので注意して下さい。
2重ループを抜ける
<?php
$num = 0;
do {
do {
if ($num === 3) {
break 2;
}
echo $num; //0,1,2が出力される
$num++;
} while (true);
} while (true);
echo "終了"; //出力される
6行目は、breakの引数に2を指定しています。外側のdo while文を抜けます。
PHPの5.4.0からbreakの引数に変数を渡すことができなくなりました。
do...while文 ループの先頭に戻る(continue)
<?php
$num = 0;
do{
if ($num === 3) {
$num ++;
continue;
}
echo $num; // 0,1,2,4が出力される
$num ++;
}while ($num < 5);
7行目のcontinueは、次は11行目を実行します。そのため9行目は実行されません。
比較演算子
PHPの比較演算子の一覧です。
比較演算子 | 説明 |
---|---|
a == b | aとbの値は等しい |
a === b | aとbの値は等しい かつ 型も等しい |
a != b | aとbの値は等しくない |
a <> b | aとbの値は等しくない |
a !== b | aとbの値は等しくない または 型が等しくない |
a > b | aはbより大きい |
a >= b | aはbより大きい または 等しい |
a < b | aはbより小さい |
a <= b | aはbより小さい または 等しい |
関連の記事