progateでPHPを学習中している初学者です。
以下のコードについて質問があります。
menu配列の中の最高金額のPASTAとその価格を呼び出すというものなのですが、
$maxPriceがforeachによって次々と上書きされていくのはわかりますが、
なぜそれに伴って$maxPriceNameも上書きされていくのかが理解できません。
もしよろしければお教えください。
PHP
1$menus = array( 2 array('name' => 'CURRY', 'price' => 900), 3 array('name' => 'PASTA', 'price' => 1200), 4 array('name' => 'COFFEE', 'price' => 600) 5); 6 7// この下にコードを書いてください 8$sum = 0; 9$maxPrice = 0; //最高価格を入れるための変数 10$maxPriceName = "MM"; .//最高価格の商品の名前を入れるための変数 11foreach($menus as $menu){ 12 $name=$menu['name']; 13 $price=$menu['price']; 14 echo $menu['name'].'は'.$menu['price'].'円です'; 15echo '<br>'; 16 $sum += $price; 17//$maxPriceに入っている価格より大きければ 18 if($maxPrice<$price){ 19 // その価格で$maxPriceを上書きする 20 $maxPrice = $price; 21 // 最高価格のものの名前で上書きする 22 $maxPriceName = $name; 23 24 } 25} 26echo "合計金額は{$sum}円です"; 27echo "{$maxPriceName}の{$maxPrice}が最高価格です";
回答3件
あなたの回答
tips
プレビュー