PHP 8.4.0 RC4 available for testing

Ds\Sequence::reduce

(PECL ds >= 1.0.0)

Ds\Sequence::reduceReduit la séquence à une seule valeur en utilisant une fonction de rappel

Description

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

Réduit la séquence à une seule valeur en utilisant une fonction de rappel.

Liste de paramètres

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

La valeur de retour du rappel précédent, ou initial si c'est la première itération.

value

La valeur de l'itération actuelle.

initial

La valeur initiale de la valeur de retour. Peut être null.

Valeurs de retour

La valeur de retour du rappel final.

Exemples

Exemple #1 Exemple de Ds\Sequence::reduce() avec une valeur initiale

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

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

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

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

Résultat de l'exemple ci-dessus est similaire à :

int(30)

Exemple #2 Exemple de Ds\Sequence::reduce() sans valeur initiale

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

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

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

Résultat de l'exemple ci-dessus est similaire à :

int(21)
add a note

User Contributed Notes

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