array_reduce
(PHP 4 >= 4.0.5, PHP 5, PHP 7)
array_reduce — 用回调函数迭代地将数组简化为单一的值
说明
array_reduce() 将回调函数
callback
迭代地作用到
array
数组中的每一个单元中,从而将数组简化为单一的值。
参数
-
array
-
输入的 array。
-
callback
-
-
carry
-
携带上次迭代里的值; 如果本次迭代是第一次,那么这个值是
initial
。 -
item
-
携带了本次迭代的值。
-
-
initial
-
如果指定了可选参数
initial
,该参数将在处理开始前使用,或者当处理结束,数组为空时的最后一个结果。
返回值
返回结果值。
initial
参数,array_reduce() 返回 NULL
。
范例
Example #1 array_reduce() 例子
<?php
function 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*5
var_dump(array_reduce($x, "sum", "No data to reduce")); // string(17) "No data to reduce"
?>
参见
- array_filter() - 用回调函数过滤数组中的单元
- array_map() - 为数组的每个元素应用回调函数
- array_unique() - 移除数组中重复的值
- array_count_values() - 统计数组中所有的值