实例
向用户自定义函数发送数组中的值,并返回一个字符串:
1
2
3
4
5
6
7
8
|
<?php function myfunction( $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的值,该参数在处理开始前使用,或者处理结束后,被处理的数组为空时,返回此值。
1
2
3
4
5
6
7
8
|
<?php function func1( $x , $y ){ $y += $x ; return $y ; } $arr1 = array (1,2,3,4,5,6); $return1 = array_reduce ( $arr1 , "func1" ); echo $return1 ; |
结果:21
1
2
3
4
5
6
7
8
|
function func2( $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
1
2
|
$return2 = array_reduce ( $arr2 , "func2" ,1); echo $return2 ; |
输出过程:
1 == 1
1 == 2
2 == 3
6 == 4
最终结果:24
1
2
|
$return3 = array_reduce ( array (), "func1" , 'no data' ); echo $return3 ; |
输出:'no data'