foreachで配列の中身を取り出すとの復習
まずは以下のコードを通して、foreachの基礎を復習します。
もし、もうforeachのことは理解だったら、「配列とforeachを通して、注文票を作ってみましょう!」との部分へ飛んでください。
コード
1 <?php
2
3 // 1. 配列を作る
4 $prices = [
5 'コーラ' => 100,
6 'ビックマック' => 490,
7 'ポテナゲ大' => 500,
8 'サイドサラダ' => 290,
9 ];
10
11 // 2. foreachで、配列のキーと値を一つずつ取り出す
12 foreach ($prices as $key => $price) {
13 echo $key.' - '.$price.'円'.PHP_EOL;
14 }
コードを実行した結果
コーラ - 100円
ビックマック - 490円
ポテナゲ大 - 500円
サイドサラダ - 290円
コードの説明
-
pricesという配列を作ります
配列の中で、4つキーとその値を定義しました。
それぞれのキーは'コーラ'、'ビックマック'、'ポテナゲ大'、'サイドサラダ'です。
キーの後ろはその値です。
例えば、5行目でのコード、「'コーラ' => 100,」との意味は、「コーラ」というキーの値は100です。 -
foreachを通して、配列のキーと値を一つずつ取り出す
11 foreach ($prices as $key => $price) {}
このコードの意味は、procesからキーを一つずつ取り出してkeyに代入することと、procesから値を一つ取り出してpriceに代入することです。
そうすると、keyの中は、「コーラ」と「ビックマック」、「ポテナゲ大」、「サイドサラダ」との文字列があります。また、priceの中は100、490、500、290との値があります。
- echoを通して、キーと値を出力します
13 echo $key.' - '.$price.'円'.PHP_EOL;
- 注意点
- 変数と文字列を繋ぐ時は「.」でつなぎます。
- PHP_EOLとは、改行との意味です。
配列とforeachを通して、注文票を作ってみましょう!
<?php
// 配列を作る
$prices = [
'コーラ' => 100,
'ビックマック' => 490,
'ポテナゲ大' => 500,
'サイドサラダ' => 290,
];
// 合計金額ための変数。最初の値は0にする。
$total = 0;
// 注文票を出力する
echo '--------注文票--------'.PHP_EOL;
// 配列のkey(キー)とvalue(値)を一つずつ呼ぶ出す
foreach ($prices as $key => $price) {
// 注文内容と金額を出力する
echo $key.' - '.$price.'円'.PHP_EOL;
// 合計金額を計算する
$total += $price;
}
// 合計金額を出力する
echo '合計 '.$total.'円'.PHP_EOL;
echo '----------------------';
結果
--------注文票--------
コーラ - 100円
ビックマック - 490円
ポテナゲ大 - 500円
サイドサラダ - 290円
合計 1380円
----------------------
このように注文票ができました!