1. 程式人生 > >PHP array_reduce()函式的應用解析

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'