PHP | Función Ds\\Map reduce()

La función Ds\Map::reduce() es una función incorporada en PHP que se usa para reducir el mapa a un solo valor aplicando operaciones usando la función de devolución de llamada.

Sintaxis:

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

Parámetro: Esta función acepta dos parámetros como se mencionó anteriormente y se describe a continuación:

  • $callback: este parámetro contiene la función que contiene la operación en los elementos y el acarreo de la tienda. Esta función de devolución de llamada contiene tres argumentos que se enumeran a continuación:
    • carry: contiene el valor de retorno de la devolución de llamada anterior, o inicial si es la primera iteración.
    • key: contiene la clave de la iteración actual.
    • value: Contiene el valor de la iteración actual.
  • $inicial: este parámetro contiene el valor inicial de carry, que puede ser NULL.

Valor devuelto : esta función devuelve el valor final devuelto por la función de devolución de llamada.

Los siguientes programas ilustran la función Ds\Map::reduce() en PHP:

Programa 1:

<?php 
  
// Declare a new map
$map = new \Ds\Map(["a" => 1, "b" => 3, "c" => 5]); 
   
echo("Map Elements\n"); 
   
print_r($map); 
   
// Callback function with reduce function 
echo("\nElement after performing operation\n"); 
  
var_dump($map->reduce(function($carry, $key, $element) { 
    return $carry + $element + 2; 
})); 
   
?> 
Producción:

Map Elements
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 3
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 5
        )

)

Element after performing operation
int(15)

Programa 2:

<?php 
   
// Declare new Map elements
$map = new \Ds\Map(["a" => 10, "b" => 20,
            "c" => 30, "d" => 40, "e" => 50]); 
   
echo("Original map elements\n"); 
   
print_r($map); 
   
$func_gfg = function($carry, $key, $element) { 
    return $carry * $element; 
}; 
   
echo("\nMap after reducing to single element\n"); 
   
// Use reduce() function 
var_dump($map->reduce($func_gfg, 10)); 
   
?> 
Producción:

Original map elements
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 10
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 20
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 30
        )

    [3] => Ds\Pair Object
        (
            [key] => d
            [value] => 40
        )

    [4] => Ds\Pair Object
        (
            [key] => e
            [value] => 50
        )

)

Map after reducing to single element
int(120000000)

Referencia: https://www.php.net/manual/en/ds-map.reduce.php

Publicación traducida automáticamente

Artículo escrito por R_Raj y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *