📜  PHP | array_reduce()函数(1)

📅  最后修改于: 2023-12-03 15:33:31.766000             🧑  作者: Mango

PHP | array_reduce()函数

PHP中的array_reduce()函数使用可用于对数组中的元素进行归纳操作,返回归约后的单个值。

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

参数:

  • array(必须):要处理的数组
  • callback(必须):用于归约操作的回调函数,需要返回两个参数,第一个是当前的归约值,第二个是数组中的当前元素
  • initial(可选):作为第一个参数传递给回调函数的初始值
示例

下面是一个使用array_reduce()函数计算数组中元素的总和的示例:

$numbers = array(1, 2, 3, 4, 5);

$sum = array_reduce($numbers, function ($carry, $number) {
    $carry += $number;
    return $carry;
});

echo $sum; // 输出15

在上面的示例中,我们将初始值$carry设置为0,然后将每个数字添加到$carry中并返回。最终,我们将得到数组中所有数字的总和。

多维数组

array_reduce()函数还适用于多维数组,例如可以使用它来查找数组中最大的数字。

$numbers = array(array(1, 2), array(3, 4), array(5, 6));

$max = array_reduce($numbers, function ($carry, $item) {
    return max($carry, max($item));
}, PHP_INT_MIN);

echo $max; // 输出6

在上面的示例中,我们将初始值$carry设置为PHP_INT_MIN,然后找到了所有元素中的最大值max($item)并将其与$carry进行比较。最终,我们将得到数组中最大的数字。

总结

array_reduce()函数可用于对数组元素进行归纳操作,返回归约后的单个值。它可以用于一维和多维数组,并且还支持传递初始值。