我如何遍历具有多个值的关联数组
how do i loop through an associative array with multiple values
我刚开始学习 php,我遇到了这个问题。我正在尝试遍历此数组以获取每个键的总值并输出数字最高的学生。非常感谢您的意见
$students = array(
'Mary' => [20,45,12],
'Grace' => [40,78,56],
'John' => [61,37,58]
);
预期的输出应该是 Grace,但我似乎无法让它工作。
这样的事情可能假设所有成绩都是积极的
$students = array(
'Mary' => [20,45,12],
'Grace' => [40,78,56],
'John' => [61,37,58]
);
$highest_grade = 0;
$higest_person = "";
foreach($students as $key => $value) {
$max = max($value);
if ($highest_grade <= $max) {
$highest_grade = $max;
$highest_person = $key;
}
}
echo $highest_person . '->' . $highest_grade;
输出正在使用 http://phptester.net/
Grace->78
您不必循环播放。只需计算所有总数
$totals = array_map('array_sum', $students);
然后输出总和最大的数组的key
echo array_keys($totals, max($totals))[0];
我刚开始学习 php,我遇到了这个问题。我正在尝试遍历此数组以获取每个键的总值并输出数字最高的学生。非常感谢您的意见
$students = array(
'Mary' => [20,45,12],
'Grace' => [40,78,56],
'John' => [61,37,58]
);
预期的输出应该是 Grace,但我似乎无法让它工作。
这样的事情可能假设所有成绩都是积极的
$students = array(
'Mary' => [20,45,12],
'Grace' => [40,78,56],
'John' => [61,37,58]
);
$highest_grade = 0;
$higest_person = "";
foreach($students as $key => $value) {
$max = max($value);
if ($highest_grade <= $max) {
$highest_grade = $max;
$highest_person = $key;
}
}
echo $highest_person . '->' . $highest_grade;
输出正在使用 http://phptester.net/
Grace->78
您不必循环播放。只需计算所有总数
$totals = array_map('array_sum', $students);
然后输出总和最大的数组的key
echo array_keys($totals, max($totals))[0];