簡體   English   中英

我如何遍歷具有多個值的關聯數組

[英]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,但我似乎無法正常工作。

您不必循環。 只需計算所有總數

$totals = array_map('array_sum', $students);

然后輸出總數最大的數組的鍵。

echo array_keys($totals, max($totals))[0];

這樣的事情可能假設所有年級都將是積極的

$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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM