La función Ds \ Map :: reduce () puede reducir el mapa a un solo valor usando una función de devolución de llamada.
Sintaxis
public mixed Ds\Map::reduce( callable $callback [, mixed $initial ] )
La función Ds \ Map :: reduce () puede devolver un valor de devolución de llamada final.
Ejemplo 1
<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
echo("The map elements: \n");
print_r($map);
echo("\n An element after performing operation: \n");
var_dump($map->reduce(function($carry, $key, $element) {
return $carry + $element + 2;
}));
?>
Ejemplo 2
<?php
$map = new \Ds\Map(["a" => 10, "b" => 20, "c" => 30, "d" => 40]);
echo("The original map elements: \n");
print_r($map);
$func = function($carry, $key, $element) {
return $carry * $element;
};
echo("\n The map after reducing to single element: \n");
var_dump($map->reduce($func, 10));
?>