查詢

array_reduce()函式—用法及示例

「 透過迭代對陣列中的每個元素進行歸約(reduce)操作,並返回結果 」


PHP函式array_reduce()用於透過迭代對陣列中的每個元素進行歸約(reduce)操作,並返回結果。

用法:

mixed array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] )

引數說明:

  • $array:要進行歸約操作的陣列。
  • $callback:歸約操作的回撥函式。它接受兩個引數:累積值和當前元素的值,並返回一個更新後的累積值。回撥函式的定義為:callback(mixed $carry, mixed $item): mixed
  • $initial(可選):可選的初始累積值。如果沒有指定,則使用陣列中的第一個元素作為初始累積值。

示例:

// 例1:對陣列中的元素求和
$array = [1, 2, 3, 4, 5];

$sum = array_reduce($array, function ($carry, $item) {
    return $carry + $item;
}, 0);

echo "Sum: $sum"; // 輸出:Sum: 15

// 例2:將字串陣列連線成一個字串
$array = ["Hello", " ", "World!"];

$result = array_reduce($array, function ($carry, $item) {
    return $carry . $item;
}, "");

echo "Result: $result"; // 輸出:Result: Hello World!

// 例3:使用初始累積值來實現階乘計算
$array = [1, 2, 3, 4, 5];

$factorial = array_reduce($array, function ($carry, $item) {
    return $carry * $item;
}, 1);

echo "Factorial: $factorial"; // 輸出:Factorial: 120

在這些示例中,array_reduce()函式分別用於計算陣列元素的和、連線字串陣列和計算階乘。透過傳遞不同的回撥函式,我們可以實現不同的歸約操作。

補充糾錯
上一個函式: array_rand()函式
下一個函式: array_replace()函式
熱門PHP函式
分享連結