【PHP】函数array_reduce()使用场景

目录

1.计算数组中所有元素的和

2.计算数组中所有元素的乘积

3.将多个字符串连接在一起

4.对数组中的元素进行逻辑计算

5.取出第一个满足条件的数组,筛选有用数组

6.array_reduce()函数的基本语法:


array_reduce 函数通常用于对数组中的元素进行累积操作,以得到一个单一的值。在 PHP 中,array_reduce 函数的使用场景包括:

  1. 计算数组中所有元素的和、乘积、最大值、最小值等。
  2. 将多个字符串连接在一起。
  3. 对数组中的元素进行逻辑计算,例如判断所有元素是否满足某个条件。
  4. 筛选有用数组

以下是 array_reduce 函数的代码示例:

1.计算数组中所有元素的和


$array = [1, 2, 3, 4, 5];

$sum = array_reduce($array, function ($carry, $item) {
    return $carry + $item;
}, 0);

echo $sum; // 输出 15

2.计算数组中所有元素的乘积


$array = [1, 2, 3, 4, 5];

$product = array_reduce($array, function ($carry, $item) {
    return $carry * $item;
}, 1);

echo $product; // 输出 120

3.将多个字符串连接在一起


$strings = ['Hello', ' ', 'World', '!'];

$result = array_reduce($strings, function ($carry, $item) {
    return $carry . $item;
}, '');

echo $result; // 输出 "Hello World!"

4.对数组中的元素进行逻辑计算


$array = [1, 2, 3, 4, 5];

$allEven = array_reduce($array, function ($carry, $item) {
    return $carry && $item % 2 == 0;
}, true);

var_dump($allEven); // 输出 bool(false),因为数组中有奇数

5.取出一个满足条件的数组,筛选有用数组


// 最后一个满足条件的
$array = [
    ['name'=>'ss', 'income'=>1,'deposit'=>1000],
    ['name'=>'aa', 'income'=>2,'deposit'=>800],
    ['name'=>'bb', 'income'=>3,'deposit'=>500],
    ['name'=>'cc', 'income'=>4,'deposit'=>300],
    ['name'=>'dd', 'income'=>5,'deposit'=>200],
];
$income = 3;

$allEven = array_reduce($array, function ($carry, $item) use ($income) {
    if ($income >= $item['income']) {
        $carry['name'] = $item['name'];
        $carry['deposit'] = $item['deposit'];
    }
    return $carry;
}, []);

var_dump($allEven); 

// 输出
array(2) {
  'name' =>
  string(2) "bb"
  'deposit' =>
  int(500)
}

// 第一个满足条件的
$found = false;
$allEven = array_reduce($array, function ($carry, $item) use ($income, &$found) {
    if (!$found && $income >= $item['income']) {
        $carry['name'] = $item['name'];
        $carry['deposit'] = $item['deposit'];
        $found = true; // 设置标志变量表示已找到满足条件的元素
        return $res; // 返回结果并终止处理
    }
    return $carry;
}, []);

6.array_reduce()函数的基本语法:


array_reduce($array, $callback, $initial = null)

在这个语法中:

  • $array 是输入数组。
  • $callback 是回调函数。
  • $initial 是可选的初始值。

array_reduce 函数将回调函数应用于数组中的每个元素,并将结果累积到一个单一的值中。最终,array_reduce 函数返回累积的结果。

你可能感兴趣的:(php,php,开发语言)