实例

向用户自定义函数发送数组中的值,并返回一个字符串:

<?phpfunctionmyfunction($v1,$v2){return$v1."-".$v2;}$a=array("Dog","Cat","Horse");print_r(array_reduce($a,"myfunction"));?>

定义和用法

array_reduce() 函数向用户自定义函数发送数组中的值,并返回一个字符串。

注释:如果数组是空的且未传递 initial 参数,该函数返回 NULL。

说明

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

如果指定第三个参数,则该参数将被当成是数组中的第一个值来处理,或者如果数组为空的话就作为最终返回值。

下面给大家介绍下PHP array_reduce()的应用,具体内容如下所述:


array_reduce($array,$callback($carry,$item),$initial)

用回调函数迭代计算数组元素,并返回最终结果。$carry携带上次迭代的值,如果是本次迭代的第一次,那么这个值是$initial。如果指定了$initial的值,该参数在处理开始前使用,或者处理结束后,被处理的数组为空时,返回此值。


<?phpfunctionfunc1($x,$y){$y+=$x;return$y;}$arr1=array(1,2,3,4,5,6);$return1=array_reduce($arr1,"func1");echo$return1;

结果:21

functionfunc2($x,$y){echo$x.'=='.$y."<br>";$y*=$x;return$y;}$arr2=array(1,2,3,4);$return2=array_reduce($arr2,"func2");echo$return2;

输出过程:

== 1
0 == 2
0 == 3
0 == 4

最终结果:0

$return2=array_reduce($arr2,"func2",1);echo$return2;

输出过程:

1 == 1
1 == 2
2 == 3
6 == 4

最终结果:24

$return3=array_reduce(array(),"func1",'nodata');echo$return3;

输出:'no data'