今回は「foreach構文」について書きたいと思います。
なお、foreach構文をより理解するためには、配列と、for / while 構文
を見ておくと理解が進むでしょう。右側サイドバーから該当カテゴリをご覧ください。
まずはサンプルプログラムをみてみましょう。
<?php $fruits = array("Orange","Apple","Berry"); //fruitsと複数形にした //foreachはfor文のように繰り返す命令 foreach($fruits as $fruit){ //fruitsの先頭から1つずつ$fruitに代入する echo $fruit; echo "<br>"; }
これまでのサンプルプログラムでは、配列の要素を表示するために主にprint_rを使っていました。
しかし、print_rでは一気に全ての要素が表示されたり、インデックスが表示されてしまっていました。
そこで、配列の要素を1つずつ(?)表示したり、各要素に応じてif文などを使う際には
foreach構文が便利になります。
foreachは上記の形式で利用し、配列変数の先頭の要素から、最後の要素まで繰返します。
例えば、1回目のループでは配列の先頭要素である「Orange」というデータが
変数(サンプルプログラムでは$fruit)に代入されます。
※代入 = $fruitという変数に Orangeというデータを格納する
2回目のループでは、「Apple」が$fruitに代入されます。
この時、$fruitsからOrangeや、Appleというデータが無くなっているわけではありません。
3回目のループを終わり、4回目に行こうとした時に、配列変数には
3つしかデータがないため、そこでforeach文は終了となります。
イメージとしては、図にもあるように、タンス(=配列)の引き出しを
下から(インデックスが0から)順番に開けていって、どんどん上の引き出しを開けて
一番上の引き出しを開けたら終わり、というようなイメージです。
foreach(配列変数 as 変数){
繰り返したい処理
}