PHP 中的 array_reduce 函数用回调函数迭代地将 数组 简化为单一的值。array_reduce() 将回调函数 callback 迭代地作用到 array 数组中的每一个单元中,从而将数组简化为单一的值。
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"));
程序运行后,控制台输出如下:
我们使用了 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));
程序运行后,控制台输出如下:
我们使用了 array_reduce 函数,遍历了数组的所有元素,求得乘积,并乘以 10。
PHP array_reduce函数总结
PHP 中的 array_reduce 函数用回调函数迭代地将数组简化为单一的值。array_reduce() 将回调函数 callback 迭代地作用到 array 数组中的每一个单元中,从而将数组简化为单一的值。