PHP array_reduce()函数的应用解析

Posted 小小才鸟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP array_reduce()函数的应用解析相关的知识,希望对你有一定的参考价值。

实例

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

<?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的值,该参数在处理开始前使用,或者处理结束后,被处理的数组为空时,返回此值。

 

<?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

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

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

输出过程:

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

最终结果:24

$return3 = array_reduce(array(),"func1",‘no data‘);
echo $return3;

输出:‘no data‘







以上是关于PHP array_reduce()函数的应用解析的主要内容,如果未能解决你的问题,请参考以下文章

PHP array_reduce

PHP二维数组转换成一维数组,一个变量多个二维数组转换成一维数组,PHP二维数组(或任意维数组)转换成一维数组的方法汇总,array_reduce(); array_walk_recursive()

php Foreach vs array_reduce

php array_reduceの小さなメモ

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

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