Ds\Deque::reduce

(PECL ds >= 1.0.0)

Ds\Deque::reduceУменьшает коллекцию до одного значения, используя callback-функцию

Описание

public Ds\Deque::reduce(callable $callback, mixed $initial = ?): mixed

Уменьшает коллекцию до одного значения, используя callback-функцию.

Список параметров

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

Значение, возвращённое предыдущим запуском функции или initial, если функция запущена в первый раз.

value

Значение текущей итерации.

initial

Начальное значение параметра carry. Можно указать null.

Возвращаемые значения

Значение, возвращённое окончательным запуском callback-функции.

Примеры

Пример #1 Пример использования Ds\Deque::reduce() с начальным значением

<?php
$deque
= new \Ds\Deque([1, 2, 3]);

$callback = function($carry, $value) {
return
$carry * $value;
};

var_dump($deque->reduce($callback, 5));

// Iterations:
//
// $carry = $initial = 5
//
// $carry = $carry * 1 = 5
// $carry = $carry * 2 = 10
// $carry = $carry * 3 = 30
?>

Вывод приведённого примера будет похож на:

int(30)

Пример #2 Пример использования Ds\Deque::reduce() без начального значения

<?php
$deque
= new \Ds\Deque([1, 2, 3]);

var_dump($deque->reduce(function($carry, $value) {
return
$carry + $value + 5;
}));

// Iterations:
//
// $carry = $initial = null
//
// $carry = $carry + 1 + 5 = 6
// $carry = $carry + 2 + 5 = 13
// $carry = $carry + 3 + 5 = 21
?>

Вывод приведённого примера будет похож на:

int(21)
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top