array_reduce
(PHP 4 >= 4.0.5, PHP 5, PHP 7)
array_reduce — 用回调函数迭代地将数组简化为单一的值
说明
   array_reduce() 将回调函数
   callback 迭代地作用到
   array 数组中的每一个单元中,从而将数组简化为单一的值。
     
参数
- 
array
- 
      输入的 array。 
- 
callback
- 
      
    - 
carry
- 
      携带上次迭代里的值; 如果本次迭代是第一次,那么这个值是 initial。
- 
item
- 
         携带了本次迭代的值。 
 
- 
- 
initial
- 
      如果指定了可选参数 initial,该参数将在处理开始前使用,或者当处理结束,数组为空时的最后一个结果。
返回值
返回结果值。
   initial 参数,array_reduce() 返回 NULL。
  
范例
Example #1 array_reduce() 例子
<?php
function sum($carry, $item)
{
    $carry += $item;
    return $carry;
}
function product($carry, $item)
{
    $carry *= $item;
    return $carry;
}
$a = array(1, 2, 3, 4, 5);
$x = array();
var_dump(array_reduce($a, "sum")); // int(15)
var_dump(array_reduce($a, "product", 10)); // int(1200), because: 10*1*2*3*4*5
var_dump(array_reduce($x, "sum", "No data to reduce")); // string(17) "No data to reduce"
?>
参见
- array_filter() - 用回调函数过滤数组中的单元
- array_map() - 为数组的每个元素应用回调函数
- array_unique() - 移除数组中重复的值
- array_count_values() - 统计数组中所有的值