目次
・サンプル
・HTMLで使用する
・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)