PHP array_reduce()函数的应用解析

这篇文章主要介绍了PHP array_reduce()的应用,本文通过代码举例给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下。

实例

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

  1. <?php
  2. function myfunction($v1,$v2)
  3. {
  4. return $v1 . "-" . $v2;
  5. }
  6. $a=array("Dog","Cat","Horse");
  7. print_r(array_reduce($a,"myfunction"));
  8. ?>

定义和用法

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

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

说明

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

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

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

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

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

结果:21

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

输出过程:

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

最终结果:0

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

echo $return2;

输出过程:

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

最终结果:24

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

echo $return3;

输出:'no data'