PHP array_reduce函数

PHP array_reduce函数教程

PHP 中的 array_reduce 函数用回调函数迭代地将 数组 简化为单一的值。array_reduce() 将回调函数 callback 迭代地作用到 array 数组中的每一个单元中,从而将数组简化为单一的值。

array_reduce函数详解

语法

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

参数

参数 描述
array 输入的 array。
callback callback ( mixed $carry , mixed $item ) : mixed
carry 携带上次迭代里的值; 如果本次迭代是第一次,那么这个值是 initial。
item 携带了本次迭代的值。
initial 如果指定了可选参数 initial,该参数将在处理开始前使用,或者当处理结束,数组为空时的最后一个结果。

案例

array_reduce处理数组

使用 array_reduce() 函数,处理数组元素对数组元素求和

<?php echo "嗨客网(www.haicoder.net)<br>"; function sum($carry, $item){ $carry += $item; return $carry; } $a = array(1, 2, 3, 4, 5); var_dump(array_reduce($a, "sum"));

程序运行后,控制台输出如下:

56_PHP array_reduce函数详解.png

我们使用了 array_reduce 函数,求出了数组中所有元素的和。

array_reduce处理数组

使用 array_reduce() 函数,求数组的乘积

<?php echo "嗨客网(www.haicoder.net)<br>"; function product($carry, $item){ $carry *= $item; return $carry; } $a = array(1, 2, 3, 4, 5); var_dump(array_reduce($a, "product", 10));

程序运行后,控制台输出如下:

57_PHP array_reduce函数详解.png

我们使用了 array_reduce 函数,遍历了数组的所有元素,求得乘积,并乘以 10。

PHP array_reduce函数总结

PHP 中的 array_reduce 函数用回调函数迭代地将数组简化为单一的值。array_reduce() 将回调函数 callback 迭代地作用到 array 数组中的每一个单元中,从而将数组简化为单一的值。