PHP for文のサンプル(break/continue)

PHPのfor文のサンプルです。処理を繰り返す時に使用します。

目次

for文 for文
break ループ処理を途中で終了する(break)
  入れ子のときにbreakを使用する
continue ループ処理で処理をスキップする(continue)
  入れ子のときにcontinueを使用する
foreach文 foreach文で配列の値を取得する

for文

for(初期化式 ; 条件式  ;  増減式){
  繰り返される箇所
}
  • 初期化式は、最初に1回だけ実行されます。
  • 初期化式にあるループで使用する変数をカウンター変数またはループ変数といいます。
  • 条件式がtrueの間、処理を繰り返します。
  • 増減式でカウンター変数/ループ変数の値が変わります。

for文のサンプルです。

<?php

for ($i = 0; $i < 3; $i++){
	echo $i; //0 1 2が出力される
}

$color = ["赤","黄","青"]; // 配列
for ($i = 0 ,$size = count($color); $i < $size; ++$i) {
	echo $color[$i]; // 赤 黄 青が出力される
}
?>

3行目は、初期化式($i = 0)によりi は0から始まります。iはカウンター変数と呼ばれます。
増減式($i++)によりiの値は、1ずつ増えていきます。
条件式($i < 3)がtrueの間は処理を繰り返し、iが3になるとfalseになるので終了します。
7行目は、配列です。
8行目のfor文は、1つ目の引数の箇所(初期化式)で配列のサイズ($size = count($color))を取得しています。
2つ目の引数の箇所(条件式)でcountを使用すると都度countを実行してしまい遅くなるためです。
9行目は、変数と添字で配列の値を表示しています。配列の添字は0から始まります。

ループ処理を途中で終了する(break)

  • for文でbreakを使用するとループ処理から抜けます。(そのブロックから抜けます)
  • 「{」(波括弧) から「}」までをブロックといいます。
<?php

for ($i = 0; $i < 3; $i++){

	if ($i === 1) {
	    break;
	} 
	echo $i; // 0が出力される
}

?>

8行目のbreakでfor文を抜けます。0のみ出力されます。

入れ子のときにbreakを使用する

for文が入れ子のときにbreakを使用するサンプルです。

<?php

for ($i = 0; $i < 2; $i++){

	for ($j = 0; $j < 2; $j++){

		if ($j === 0) {
		    break;
		} 
		echo "j=".$j; //出力なし
	}
	echo "i=".$i; // i=0 i=1が出力される
}

?>

3,5行目にfor文があり入れ子になっています。
8行目のbreakは、内側のfor文のみ抜けます。

ループ処理で処理をスキップする(continue)

  • for文でcontinueを使用すると、ループ処理の先頭に戻ります。(ブロックの先頭位置に戻ります)
  • 「{」(波括弧) から「}」までをブロックといいます。
<?php

for ($i = 0; $i < 3; $i++){

	if ($i === 1) {
	    continue;
	} 
	echo $i; // 0 2が出力される
}

?>

6行目のcontinueでループ処理の先頭の3行目に戻ります。0と2が出力されます。

入れ子のときにcontinueを使用する

for文が入れ子のときにcontinueを使用するサンプルです。

<?php

for ($i = 0; $i < 2; $i++){

	for ($j = 0; $j < 2; $j++){

		if ($j === 0) {
		    continue;
		} 
		echo "j=".$j; //j=1 j=1が出力される
	}
	echo "i=".$i; // i=0 i=1が出力される
}

?>

3,5行目にfor文があり入れ子になっています。
8行目のcontinueは、内側のfor文の先頭の5行目に戻ります。

foreach文で配列の値を取得する

foreach(変数1 as 変数2){
  繰り返される箇所(変数2を使用)
}
  • 上記for文との違いは、変数の値を加算する処理がありません。
  • 配列の要素を順番にアクセスします。

foreach文で配列の値を取得するサンプルです。

<?php

$color = ['赤','黄','青'];

foreach ($color as $a){
	echo $a; //赤 黄 青が出力される
}

?>

3行目は、配列です。
5行目は、foreach文で配列の全ての要素にアクセスします。カウンター変数を使用していません。

関連の記事

PHP if文のサンプル
PHP while文とdo…while文のサンプル
PHP switch文のサンプル

△上に戻る