今日の人気記事

  1. ホスト名からIPアドレスを取得 - gethostbyname()、gethostbynamel()
  2. 文字列を大文字 / 小文字に変換 - strtoupper()、strtolower() - mb_strtoupper()、mb_strtolower()

break - 繰り返し処理を抜ける(終了)

当ページのリンクには広告が含まれています。

ここではPHPスクリプトの基本構文「break」を使って繰り返し処理(ループ処理)を終了する方法について解説します。

break - 繰り返し処理を抜ける

break とは、for や while などの繰り返し処理を途中で終了する制御構文です。多重ループの場合は繰り返し処理を抜ける階層数を指定することもできます。

繰り返し処理を終了させたい場合にはPHPスクリプトの繰り返し処理内で以下のように記述します。

break;

繰り返し処理を抜ける階層数を指定

breakは、多重ループ処理の繰り返し処理を抜ける階層数を指定することもできます。繰り返し処理を抜ける階層数を指定する場合は「break」の後に「階層数」を記述します。

break 階層数;

※ ちなみに階層数を指定しない「break;」は「break 1;」と同義になります。

それでは break のサンプルスクリプトをみてみましょう。

サンプルスクリプト

変数「$i」が10より小さい場合は繰り返し処理を行うループ内で、「$i」が「4」であれば、ループを抜けるサンプルスクリプトです。

<?php
$i = 0;
while( $i<10 ) {
  if( $i===4 ){
    echo "ループを抜ける\n";
    break;
  }
  echo $i ."\n";
  $i++;
}
?>

実行結果です。

0
1
2
3
ループを抜ける

このように「$i」が「4」のときに繰り返し処理が終了していることがわかります。

サンプルスクリプト - 繰り返し処理を抜ける階層数を指定

それでは階層数を指定した break のサンプルスクリプトをみてみましょう。

変数「$i」「$j」という2つのループ処理のスクリプトです。「$i」の値が「3」になったら2階層(「$i」と「$j」の両方)のループを抜けるという動きになります。

<?php
for( $i=0;$i<5;$i++ ){
  for( $j=0;$j<5;$j++ ){
    if( $i===3 ){
      echo "ループを抜ける\n";
      break 2;
    }
    echo $i . $j . "\n";
  }
}
?>

実行結果です。

00
01
02
03
04
10
11
12
13
14
20
21
22
23
24
ループを抜ける

「$i」が「3」になったら2重ループを抜けていることがわかります。

次は「continue - 繰り返し処理を飛ばす(スキップ)」をみてみましょう。

繰り返し処理 の人気記事

  1. if、else、elseif - 条件分岐
  2. for - 繰り返し処理
  3. continue - 繰り返し処理を飛ばす(スキップ)

関連記事(一部広告含む)