首頁 >後端開發 >PHP問題 >php數組給某一列求和

php數組給某一列求和

WBOY
WBOY原創
2023-05-19 09:53:361011瀏覽

在開發中,常常需要對數組的某一列進行求和操作。在PHP語言中,可以透過循環遍歷數組的方式來求和,但這種方式不僅程式碼量大,效率也較低。本文將介紹幾種簡潔有效率的方法來給予PHP數組的某一列求和。

第一種方法是使用array_column()函數。 array_column()函數可以從數組中取得指定的列,然後對該列進行求和,程式碼如下:

$array = array(
    array('name' => '张三', 'age' => 20, 'score' => 80),
    array('name' => '李四', 'age' => 21, 'score' => 85),
    array('name' => '王五', 'age' => 22, 'score' => 90),
);

$sum = array_sum(array_column($array, 'score'));
echo '总分:' . $sum;

上述程式碼首先定義了一個二維數組,其中包含了學生的姓名、年齡和成績。然後使用array_column()函數從該數組中獲取了成績這一列,最後調用array_sum()函數對該列進行求和。輸出結果為:總分:255。

第二種方法是使用array_reduce()函數。 array_reduce()函數可以將陣列縮減為一個值,其參數為一個回呼函數和一個初始值。在回調函數中,可以將每個元素相加,最終獲得該列的總和,代碼如下:

$array = array(
    array('name' => '张三', 'age' => 20, 'score' => 80),
    array('name' => '李四', 'age' => 21, 'score' => 85),
    array('name' => '王五', 'age' => 22, 'score' => 90),
);

$sum = array_reduce($array, function($total, $item) {
    return $total + $item['score'];
}, 0);

echo '总分:' . $sum;

上述程式碼首先定義了一個二維數組,其中包含了學生的姓名、年齡和成績。然後使用array_reduce()函數對此數組進行縮減,預設初始值為0,回呼函數將每個元素的成績相加,最終得到該列的總和。輸出結果為:總分:255。

第三種方法是使用foreach迴圈來遍歷陣列。代碼如下:

$array = array(
    array('name' => '张三', 'age' => 20, 'score' => 80),
    array('name' => '李四', 'age' => 21, 'score' => 85),
    array('name' => '王五', 'age' => 22, 'score' => 90),
);

$sum = 0;
foreach($array as $item) {
    $sum += $item['score'];
}

echo '总分:' . $sum;

上述程式碼首先定義了一個二維數組,其中包含了學生的姓名、年齡和成績。然後使用foreach循環遍歷該數組,將每個元素的成績相加,最終得到該列的總和。輸出結果為:總分:255。

綜上所述,我們可以使用多種方法來給予PHP陣列的某一列求和。使用array_column()函數可以快速方便地取得數組的某一列,使用array_reduce()函數可以將數組縮減為一個值,並對該列進行求和。使用foreach循環來遍歷數組,程式碼簡單易懂,是一種常用的方法。根據具體情況,我們可以選擇不同的方法來進行操作。

以上是php數組給某一列求和的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn