とぎぷろべい

包丁研ぎとプログラミングと米国株投資についてのなんやかんや

breakとcontinueについて(PHP)

f:id:feci:20210727001932j:plain

PHP7

 

PHP7.4.1におけるbreakとcontinueについて。

<?php

//①foreach文を使った繰り返し処理
$aaa = [012null4]; //4番目の値が空の配列

foreach ($aaa as $bbb) {   //$aaaの値を1つずつ$bbbに代入するループ
  if ($bbb !== null) {     //$bbbがnullでないときに実行
    echo $bbb . "\n";      //0124
  }
}


//②continueを使ってnullをスキップするパターン
$aaa = [012null4];

foreach ($aaa as $bbb) {
  if ($bbb === null) {    //$bbbがnullのときに実行
    continue;             //このパターンだけ処理を飛ばしてまたループに戻る
  }
  echo $bbb . "\n";       //0124
}


//③breakを使ってnullで終了するパターン
$aaa = [012null4];

foreach ($aaa as $bbb) {
  if ($bbb === null) {    //$bbbがnullのときに実行
    break;                //ここでforeach文の処理が終了する
  }
  echo $bbb . "\n";       //012
}

echo 'ここはbreak後も処理される'//foreach文の外はbreak後も処理される

breakとcontinueは共に繰り返し文に使われる処理です。

ここで言う繰り返し文とは、具体的にはfor文、foreach文、while文、do-while文、switch文のことを意味します。

 

breakは、実行された時点でそのループ処理を終了させます。

continueは、実行された時点でそのループ処理を1回だけスキップして次のループ処理に移ります。

 

上記スクリプト③のように、breakで終了するのはスクリプトそのものではありません。

breakはその繰り返し処理を終了させるだけなので、繰り返し処理が終了したあとはその下行のスクリプトは通常どおりの流れで実行されていきます。

 

 

以上です。