Php/docs/function.array-reduce

来自菜鸟教程
跳转至:导航、​搜索

array_reduce

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

array_reduce用回调函数迭代地将数组简化为单一的值


说明

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

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


参数

array

输入的 array。

callback

callback ( mixed $carry , mixed $item ) : mixed

carry

携带上次迭代里的值; 如果本次迭代是第一次,那么这个值是 initial

item

携带了本次迭代的值。

initial

如果指定了可选参数 initial,该参数将在处理开始前使用,或者当处理结束,数组为空时的最后一个结果。


返回值

返回结果值。

initial 参数,array_reduce() 返回 null


范例

Example #1 array_reduce() 例子

<?phpfunction sum($carry, $item){    $carry += $item;    return $carry;}function product($carry, $item){    $carry *= $item;    return $carry;}$a = array(1, 2, 3, 4, 5);$x = array();var_dump(array_reduce($a, "sum")); // int(15)var_dump(array_reduce($a, "product", 10)); // int(1200), because: 10*1*2*3*4*5var_dump(array_reduce($x, "sum", "No data to reduce")); // string(17) "No data to reduce"?>

参见