Contents
PHPループ型
- for – 指定した回数だけコードブロックをループする。
- while – 指定された条件が真である限り、コードのブロックをループします。
- do … while – コードブロックを1回ループし、特殊条件が真である限りループを繰り返します。
- foreach – 配列内の各要素のコードブロックをループします。
ループの実行を制御するために使用されるcontinueキーワードとbreakキーワードについて説明します。
forループ文
forステートメントは、ステートメントまたはステートメントのブロックを何回実行するかを知っているときに使用されます。
構文
while (condition) { code to be executed; }
例
この例では、ループの各繰り返しで変数値をデクリメントし、
評価が偽でループが終了するとカウンタが10に達するまでカウンタをインクリメントします。
<html> <body> <?php $i = 0; $num = 50; while( $i < 10) { $num--; $i++; } echo ("ループが止まるのは i = $i と num = $num" ); ?> </body> </html>
このようになる
ループが止まるのは i = 10 と num = 40
do … whileループステートメント
do … whileステートメントは少なくとも1回はコードブロックを実行し、条件が真である限りループを繰り返します。
構文
do { code to be executed; } while (condition);
例
次の例では、iの値を少なくとも1回インクリメントし、
10より小さい値を持つ限り変数iをインクリメントし続けます。
<html> <body> <?php $i = 0; $num = 0; do { $i++; } while( $i < 10 ); echo ("ループが止まるのは i = $i" ); ?> </body> </html>
これにより、次の結果が生成されます。
ループが止まるのは i = $i
foreachループステートメント
foreach文は、配列をループするために使用されます。各パスに対して、現在の配列要素の値が$ valueに割り当てられ、配列ポインタが1つ移動され、次のパスで次の要素が処理されます。
構文
foreach (array as value) { code to be executed; }
例
次の例を試して、配列の値を列挙してください。
<html> <body> <?php $array = array( 1, 2, 3, 4, 5); foreach( $array as $value ) { echo "Value is $value <br />"; } ?> </body> </html>
これにより、次の結果が生成されます。
Value is 1 Value is 2 Value is 3 Value is 4 Value is 5
breakステートメント
PHP breakキーワードは、ループの実行を途中で終了させるために使用されます。
次の例では、カウンタ値が3に達してループが終了すると、条件テストが真になります。
<html> <body> <?php $i = 0; while( $i < 10) { $i++; if( $i == 3 )break; } echo ("Loop stopped at i = $i" ); ?> </body> </html>
こうなります。
Loop stopped at i = 3
continue文
PHP continueキーワードは、ループの現在の反復を停止するのに使用されますが、ループを終了させることはありません。
breakステートメントと同様に、continueステートメントは、ループが実行するコードを含むステートメントブロック内に位置し、条件付きテストの前に配置されます。継続ステートメントが発生すると、ループコードの残りの部分はスキップされ、次のパスが開始されます。
次の例では、ループは配列の値を出力しますが、条件が真になるとコードをスキップして次の値が出力されます。
<html> <body> <?php $array = array( 1, 2, 3, 4, 5); foreach( $array as $value ) { if( $value == 3 )continue; echo "Value is $value <br />"; } ?> </body> </html>
こうなります
Value is 1 Value is 2 Value is 4 Value is 5
次のページ⑨