當前位置: 首頁> 最新文章列表> 如何通過array_sum結合array_filter函數實現條件求和技巧?

如何通過array_sum結合array_filter函數實現條件求和技巧?

gitbox 2025-08-25

<?php // 正文開始 echo "

如何通過array_sum結合array_filter函數實現條件求和技巧?

"
; echo

"在PHP開發中,經常需要對數組中的元素進行求和,但往往需要滿足一定的條件。PHP提供了兩個非常實用的函數:和array_sum ,結合使用可以高效實現條件求和。

"
; echo "

1. array_filter函數簡介

"
; echo "

array_filter函數用於過濾數組元素,可以通過回調函數指定過濾條件。語法如下:

"
; echo "
array array_filter(array \$array, callable \$callback)
"
; echo "

其中,\$callback返回true的元素會保留,返回false的元素會被過濾掉。

"
; echo "

2. array_sum函數簡介

"
; echo "

array_sum函數用於計算數組中所有值的和。語法如下:

"
; echo "
mixed array_sum(array \$array)
"
; echo "

它會返回數組中所有數值元素的總和。

"
; echo "

3. 條件求和示例

"
; echo "

假設我們有一個數組,想要求出其中大於10的元素之和:

"
; echo "
\$numbers = [5, 12, 8, 20, 7];

// 使用array_filter過濾大於10的元素\$filtered = array_filter(\$numbers, function(\$value) {
    return \$value > 10;
});

// 使用array_sum求和\$sum = array_sum(\$filtered);

echo \$sum; // 輸出32
"
;
echo "

在這個例子中, array_filter先篩選出數組中大於10的元素[12, 20],然後array_sum對篩選後的數組求和得到32。

"
; echo "

4. 高級用法:複雜條件

"
; echo "

如果過濾條件更複雜,例如求偶數且大於5的元素之和,可以這樣寫:

"
; echo "
\$numbers = [2, 4, 6, 8, 10, 3, 7];

// array_filter結合多個條件\$filtered = array_filter(\$numbers, function(\$value) {
    return \$value % 2 === 0 && \$value > 5;
});

// 求和\$sum = array_sum(\$filtered);

echo \$sum; // 輸出24 (6+8+10)
"
;
echo "

通過這種方式,可以輕鬆實現多條件的數組求和,而不需要手動循環和判斷。

"
; echo "

5. 總結

"
; echo

"結合array_filterarray_sum可以實現靈活、高效的條件求和。核心思路是先用array_filter篩選出符合條件的數組元素,再用array_sum對結果數組求和。這樣代碼簡潔且易於維護。

"
; ?>