PHP foreach文 処理を繰り返す (break/continue)

目次

foreach文とは

foreach (配列の変数1 as 変数2){
  実行される処理(変数2を使用する)
}
  • カウントする変数を使わずにループして配列の全ての要素にアクセスします。
  • 配列の値を先頭から順番に取り出します。
  • for文との違いは、変数の値を加算する処理がありません。

 

配列の値を取得

<?php
$color = ['A','B','C'];

foreach ($color as $a){
	echo $a; //A B Cが出力される
}

4行目は、foreach文で配列の要素の数分、処理を繰り返します。

 

連想配列のキーと値を取得

<?php
$color = [
	'1' => 'A',
	'2' => 'B',
	'3' => 'C',
];

foreach ($color as $a => $b) {
	echo $a; //1 2 3が出力される
	echo $b; //A B Cが出力される
}

2-6行目は、連想配列です。
8-11行目は、foreach文でキーと値を取得しています。

 

HTMLにforeach文を書く時

<?php $color = ['A', 'B', 'C']; ?>

<?php foreach ($color as $a) : ?>
	<p><?= $a ?></p>
<?php endforeach; ?>

3行目は、後方にコロン:がついています。
5行目は、endforeachがあります。foreach文の終わりが、わかりやすくなります。

 

ループを抜ける(break)

<?php
$color = ['A','B','C'];

foreach ($color as $a){
	if ($a == 'B'){
		break;
	}
	echo $a; //Aが出力される
}

6行目は、breakでforeachのループから抜けます。
結果「A」のみ出力されます。

 

ループの先頭に戻る(continue)

<?php
$color = ['A','B','C'];

foreach ($color as $a){
	if ($a == 'B'){
		continue;
	}
	echo $a; //ACが出力される
}

6行目は、continueでforeachの先頭(4行目)に戻ります。
結果「A」と「C」が出力されます。

 

関連の記事

PHP 配列の仕組みと使い方
PHP 変数から連想配列を作成する (compact)
PHP 連想配列から変数を作成する (extract)

△上に戻る