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

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

Sintaxis:

mixed public Ds\Set::reduce ( callable $callback 
[, mixed $initial ] )

Parámetros: 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 dos argumentos, acarreo y valor, donde acarreo es el valor devuelto por la función y valor es el valor del elemento en 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\Set::reduce() en PHP:

Programa 1:

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

Set Elements
Ds\Set Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Element after performing operation
int(25)

Programa 2:

<?php 
  
// Declare new Set
$set = new \Ds\Set([10, 20, 30, 40, 50]); 
  
echo("Original set elements\n"); 
  
print_r($set); 
  
$func_gfg = function($carry, $element) { 
    return $carry * $element; 
}; 
  
echo("\nSet after reducing to single element\n"); 
  
// Use reduce() function 
var_dump($set->reduce($func_gfg, 10)); 
  
?> 
Producción:

Original set elements
Ds\Set Object
(
    [0] => 10
    [1] => 20
    [2] => 30
    [3] => 40
    [4] => 50
)

Set after reducing to single element
int(120000000)

Referencia: https://www.php.net/manual/en/ds-set.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 *