array_reduce($arr,function,initial) 这个函数的作用是用于迭代一个数组,并把数组里面的元素依次传入给自定义函数进行处理。并最终返回一个字符串。
所以试了下:
$a=array(10,15,20);
$result = array_reduce($a,function($v1,$v2){
print_r('$v1:'.$v1.'--'.'$v2:'.$v2);
echo "<br/>";
return $v1+$v2;
},5);//第三个参数为初始值,传递给$v1
ps("结果:".$result);
输出结果:
$v1:5--$v2:10
$v1:15--$v2:15
$v1:30--$v2:20
结果:50
可见:数组a里的元素会被依次传入到匿名函数里,并且是传给函数的第二个参数,每次匿名函数返回的结果又重新传递给函数的第一个参数$v1。