PHP array_reduce()函式的應用解析
阿新 • • 發佈:2018-11-14
例項
向用戶自定義函式傳送陣列中的值,並返回一個字串:
<?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'