タイトルわかりにくくて申し訳ありません。
人物のデータが配列に入力されています。
「score-(penalty✕5) = 30以下か以上か」を計算したく考えています。
php
1$user = array( 2 array('name' => '鈴木','score' => 60, 'penalty' => 5), 3 array('name' => '佐藤','score' => 30, 'penalty' => 4), 4 array('name' => '河原','score' => 40, 'penalty' => 0), 5 array('name' => '青木','score' => 70, 'penalty' => 2), 6);
考えている手順です↓↓
(1)penalty✕5を計算
(2)score−(1)を計算
(3)それぞれ30以下か計算
まずarray_columnでそれぞれ変数に代入しました。
(ここですでに考えとして間違っているのか?という感想です)
php
1$score = array_column($user, "score"); 2$name = array_column($user, "name"); 3$penalty = array_column($user, "penalty");
次に(1)penalty✕5を計算
php
1function kakeGo($n) { 2 return $n * 5; 3} 4$penalty2 = array_map('kakeGo', $penalty); 5 6これで配列が 7$penalty2 = (25,20,0,10) 8 9
(2)score−(1)を計算
php
1 2foreach ($score as $k => $v) { 3 if (array_key_exists($k, $penalty2) == TRUE) { 4 echo $v - $penalty2[$k]; 5 echo "<br>"; 6 } 7}
(3)それぞれ30以下か計算
ここで結果を出すのはどうやればいいのか混乱してしまいました。。
foreachで$resultを回しながらif文でしょうか?
アドバイスのほどよろしくお願いいたします。
また、やり方が適当でないなどアドバイス等もよろしくお願いいたします。
回答4件
あなたの回答
tips
プレビュー