PHP 8.4.0 RC2 available for testing

Ds\Map::reduce

(PECL ds >= 1.0.0)

Ds\Map::reduceRéduit la carte à une seule valeur en utilisant une fonction de rappel

Description

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

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

Liste de paramètres

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

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

key

La clé de l'itération actuelle.

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\Map::reduce() avec valeur initial

<?php
$map
= new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

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

var_dump($map->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\Map::reduce() sans valeur initiale

<?php
$map
= new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map->reduce(function($carry, $key, $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