Ds\Vector::reduce

(PECL ds >= 1.0.0)

Ds\Vector::reduceReduce el vector a un solo valor utilizando una retrollamada

Descripción

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

Reduce el vector a un solo valor utilizando una retrollamada.

Parámetros

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

El valor de retorno de la retrollamada anterior, o initial si es la primera iteración.

value

El valor de la iteración actual.

initial

El valor inicial del valor de retorno. Puede ser null.

Valores devueltos

El valor de retorno de la retrollamada final.

Ejemplos

Ejemplo #1 Ejemplo de Ds\Vector::reduce() con valor inicial

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

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

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

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

El resultado del ejemplo sería algo similar a:

int(30)

Ejemplo #2 Ejemplo de Ds\Vector::reduce() sin valor inicial

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

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

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

El resultado del ejemplo sería algo similar a:

int(21)
add a note

User Contributed Notes

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