(PHP 4 >= 4.0.5, PHP 5)
array_reduce() 将回调函数 function 迭代地作用到 input 数组中的每一个单元中,从而将数组简化为单一的值。如果指定了可选参数 initial,该参数将被当成是数组中的第一个值来处理,或者如果数组为空的话就作为最终返回值。如果数组为空并且没有传递 initial 参数,array_reduce() 返回 NULL。
function
input
initial
例 1. array_reduce() 例子
<?php function rsum($v, $w) { $v += $w; return $v; } function rmul($v, $w) { $v *= $w; return $v; } $a = array(1, 2, 3, 4, 5); $x = array(); $b = array_reduce($a, "rsum"); $c = array_reduce($a, "rmul", 10); $d = array_reduce($x, "rsum", 1); ?>
这将使 $b 的值为 15,$c 的值为 1200(= 10*1*2*3*4*5),以及 $d 的值为 1。
$b
$c
$d
参见 array_filter(),array_map(),array_unique() 和 array_count_values()。