PHP 8.4.1 Released!

Ds\Vector::reduce

(PECL ds >= 1.0.0)

Ds\Vector::reduceRéduit le vecteur à une seule valeur en utilisant une fonction de rappel

Description

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

Réduit le vecteur à 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\Vector::reduce() avec valeur initiale

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

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

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

// Itérations:
//
// $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\Vector::reduce() sans valeur initiale

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

var_dump($vector->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