在開發中,常常需要對數組的某一列進行求和操作。在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中文網其他相關文章!