我如何遍历具有多个值的关联数组

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];