phpPHP開発 虎の巻

foreach

カテゴリ:一般

foreachの基本

配列の要素を全て合計してみます。

$data = array(5,8,3,6,9);

$sum = 0;
for($i=0;$i < count($data);++i){
	$sum = $sum + $data[$i];
}
echo $sum;

$iのような添え字を使ったfor文を使って要素を$data[$i]で取得し、合計しています。

では、これをforeachで書いてみます。

$data = array(5,8,3,6,9);

$sum = 0;
foreach($data as $num){
        $sum = $sum + $num;
}
echo $sum;

foreachの後に 配列 as 変数 と書きます。
こう書くことで配列の値が1つずつ変数に入ってきます。以下のfor文のような動きになるわけです。

for($i=0;$i < count($data);++i){
	$num = $data[$i];
	$sum = $sum + $num;
}

連想配列とforeach

以下のような連想配列があるとします。

$data =array('りんご'=>100,'みかん'=>150,'いちご'=>200);

この配列の要素を全て表示したい場合、通常のfor文ではキー(添え字)が数字では無いので出来ません。 代わりにforeachを使います。

foreach($data as $tanka){
        echo $tanka;
}

このような書き方では配列の要素(中身)しか表示されません。
キーを表示するには以下のようにします。

foreach($data as $key=>$tanka){
        echo "$key は $tanka 円";
}

カテゴリ:一般の記事