foreach as 構文の終了条件 break; 的なもの

foreachの構文は基本的には以下のような形になっている

foreach (配列変数 as 変数){
実行する処理1;
実行する処理2;
}

考え方
要素を取り出す配列と、取り出した要素の値を格納する変数を指定。
foreach文による繰り返しでは、配列に含まれる要素の数だけ繰り返しが行われ、1回繰り返しが行われるたびに配列に含まれる要素の値を変数に代入。

具体例で考えると

$preflist = array(‘東京’, ‘大阪’, ‘名古屋’);

foreach ($preflist as $pref){
print $pref;
}

実行される処理
1) 配列「preflist」から要素の値「東京」を変数「pref」に代入
2) 変数「pref」の値を出力
3) ブロックの最後に達したのでforeach文の先頭に戻る
4) 配列「preflist」から要素の値「大阪」を変数「pref」に代入
5) 変数「pref」の値を出力
6) ブロックの最後に達したのでforeach文の先頭に戻る
7) 配列「preflist」から要素の値「名古屋」を変数「pref」に代入
8 ) 変数「pref」の値を出力
9) ブロックの最後に達したが、配列に含まれる要素の数だけ繰り返しを行っ
たのでforeach文を終了

ここで注意したいこと
while文やfor文などと異なり繰り返しが終了される条件式は存在しない。
配列の要素の数だけ繰り返して終了となる。

注意する点としては配列の要素そのものを取り出しているわけではなく、要素の値を変数にコピーして代入しているだけである。
なおwhile文と同じく「break」や「continue」を利用することが可能。

参考記事
http://www.phpbook.jp/tutorial……ndex8.html