array_reduce

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

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

说明

array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] ) : mixed

array_reduce() 将回调函数 callback 迭代地作用到 array 数组中的每一个单元中,从而将数组简化为单一的值。

参数

array

输入的 array。

callback
callback ( mixed $carry , mixed $item ) : mixed
carry

携带上次迭代里的值; 如果本次迭代是第一次,那么这个值是 initial

item

携带了本次迭代的值。

initial

如果指定了可选参数 initial,该参数将在处理开始前使用,或者当处理结束,数组为空时的最后一个结果。

返回值

返回结果值。

initial 参数,array_reduce() 返回 NULL

更新日志

版本 说明
5.3.0 修改 initial 类型,允许传入 mixed,之前只能是 integer

范例

Example #1 array_reduce() 例子

<?php
function sum($carry$item)
{
    
$carry += $item;
    return 
$carry;
}

function 
product($carry$item)
{
    
$carry *= $item;
    return 
$carry;
}

$a = array(12345);
$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"
?>

参见

相关文章
php 数组 函数 用用户提供的回调函数做索引检查来计算数组的差集php 数组 函数 用回调函数对键名比较计算数组的差集php 数组 函数 用回调函数过滤数组中的单元php 数组 函数 带索引检查计算数组的交集,用回调函数比较索引php 数组 函数 用回调函数比较键名来计算数组的交集php 数组 函数 为数组的每个元素应用回调函数php 数组 函数 弹出数组最后一个单元(出栈)php 数组 函数 用回调函数迭代地将数组简化为单一的值php 数组 函数 带索引检查计算数组的差集,用回调函数比较数据php 数组 函数 带索引检查计算数组的差集,用回调函数比较数据和索引php 数组 函数 用回调函数比较数据来计算数组的差集php 数组 函数 带索引检查计算数组的交集,用回调函数比较数据php 数组 函数 带索引检查计算数组的交集,用单独的回调函数比较数据和索引php 数组 函数 计算数组的交集,用回调函数比较数据php 函数处理 函数 调用回调函数,并把一个数组参数作为回调函数的参数php php 选项/信息 函数 返回所有常量的关联数组,键是常量名,值是常量值php spl 函数 将迭代器中的元素拷贝到数组php mcrypt 函数 以数组形式返回打开的算法所支持的密钥大小php postgresql 函数 从结果中提取所有行作为一个数组php 数组 函数 将数组的内部指针倒回一位
关注编程学问公众号