首頁 > 後端開發 > PHP問題 > php中求數組和的函數是什麼

php中求數組和的函數是什麼

PHPz
發布: 2023-04-24 16:37:11
原創
533 人瀏覽過

在 PHP 中,可以使用 array_sum() 函數來計算陣列中所有數值的總和。

array_sum() 函數的語法如下:

array_sum(array $array): float|int

其中,$array 是要計算總和的陣列。函數傳回一個浮點數或整數,表示 $array 中所有數值的總和。

下面是一個範例程式碼,展示如何使用array_sum() 函數來計算一個包含數字的陣列的總和:

$numbers = array(1, 2, 3, 4, 5);
$sum = array_sum($numbers);
echo "数组中所有数字的总和为:" . $sum;
登入後複製

上述程式碼輸出的結果將是:

数组中所有数字的总和为:15
登入後複製

如果陣列中包含非數值類型的元素,這些元素將被忽略,而且不會影響計算結果。

如果陣列沒有元素,函數將傳回 0。

在實際開發中,我們可能需要對一個二維陣列中的某個欄位的值進行求和。這時,可以使用 array_column() 函數來提取該欄位的值,然後再對提取出的陣列套用 array_sum() 函數。

下面是一個範例程式碼,展示如何使用array_column() 和array_sum() 函數來計算一個二維陣列中某個欄位的值的總和:

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

$scores = array_column($data, "score");
$total_score = array_sum($scores);

echo "学生的总分数为:" . $total_score;
登入後複製

上述程式碼輸出的結果將會是:

学生的总分数为:255
登入後複製

在實際開發中,我們也可以對一個關聯數組中的某些值進行求和。這時,可以使用 array_reduce() 函數來自訂一個累加器函數,然後套用該函數對陣列中的值進行累加。

下面是一個範例程式碼,展示如何使用array_reduce() 函數來對關聯數組中的某些值進行累加:

$data = array(
    "apple" => 3.00,
    "orange" => 4.50,
    "banana" => 2.00,
);

$total_cost = array_reduce($data, function($carry, $value) {
    return $carry += $value;
});

echo "购物车中所有水果的总价为:" . $total_cost;
登入後複製

上述程式碼輸出的結果將是:

购物车中所有水果的总价为:9.5
登入後複製

在上述程式碼中,array_reduce() 函數接收一個陣列和一個自訂的累加器函數作為參數。累加器函數中的 $carry 參數表示累加的暫時結果,$value 參數表示目前的陣列元素值。函數傳回更新後的累加結果。最終的累加結果作為 array_reduce() 函數的傳回值。在本例中,累加器函數的邏輯很簡單,就是實作兩數相加的加法運算。

綜上所述,無論是一維數組、二維數組或關聯數組,PHP 都提供了各種數組函數來方便地進行資料處理。在實際開發中,我們要靈活運用這些函數來提高程式碼的效率和可讀性。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板