La función Ds\Deque::reduce() es una función incorporada en PHP que se usa para reducir el Deque a un solo elemento usando la función de devolución de llamada.
Sintaxis:
public Ds\Deque::reduce( $callback, $initial ) : mixed
Parámetros: esta función acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:
- callable: Contiene la operación a realizar sobre los elementos de Deque dando como resultado un solo elemento.
- valor: contiene el valor inicial de acarreo que será el resultado después de realizar la operación en todos los elementos.
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\Deque::reduce() en PHP:
Programa 1:
<?php // Declare a deque $deck = new \Ds\Deque([10, 20, 30, 40, 50, 60]); echo("Elements of Deque\n"); // Display the Deque elements print_r($deck); // Function to perform operation on deque $func = function($carry, $element) { return $carry + $element; }; echo("\nDeque after reduced into single element: "); // use reduce() function var_dump($deck->reduce($func, 5)); ?>
Producción:
Elements of Deque Ds\Deque Object ( [0] => 10 [1] => 20 [2] => 30 [3] => 40 [4] => 50 [5] => 60 ) Deque after reduced into single element: int(215)
Programa 2:
<?php // Declare a deque $deck = new \Ds\Deque([10, 20, 30, 40, 50, 60]); echo("Elements of Deque\n"); // Display the Deque elements print_r($deck); // Function to perform operation on deque $func = function($carry, $element) { return $carry * $element + 20; }; echo("\nDeque after reduced into single element: "); // use reduce() function var_dump($deck->reduce($func, 10)); ?>
Producción:
Elements of Deque Ds\Deque Object ( [0] => 10 [1] => 20 [2] => 30 [3] => 40 [4] => 50 [5] => 60 ) Deque after reduced into single element: int(8714461220)
Referencia: http://php.net/manual/en/ds-deque.reduce.php