重複している可能性があります:。 配列中の最大値のインデックスを返す
例えば、生徒の成績が格納されている配列があります。
$grade = array(
"anna" => "5",
"lala"=>"7",
"eni"=>"7",
私は最大の等級を持っている学生の名前を返したいです。 この場合、次のように表示されます: lala eni
max() を使って最も高い値を見つけ、その上で array_keys() を実行することができます。
http://php.net/manual/en/function.max.php http://php.net/manual/en/function.array-keys.php 例
$grade = array(
"anna" => "5",
"lala"=>"7",
"eni"=>"7",
$max = max($grade); // $max == 7
array_keys($grade, $max);
学校の授業のようだ よし、それっぽいことが書けるぞ。
$maxInd = -1;
foreach($grade as $name => $ind) {
if($ind > $maxInd) {
$maxInd = $ind;
$maxRes = array();
}
if($ind == $maxInd) {
$maxRes[] = $name;
}
}
return "The highest names are " . implode(', ',$maxRes);
うまくいったら教えてください。
ことができる
$inversed = Array();
$highGrade = 0;
foreach ($grade AS $student=>$grade){
if (isset($inversed[$grade]))
$inversed[$grade][] = $student;
else
$inversed[$grade] = Array($student);
if ($grade > $highGrade) $highGrade = $grade;
}
print_r($inversed[$highGrade]);