The Ds\Deque::reduce() function is an inbuilt function in PHP which is used to reduce the Deque to a single element using callback function.
Syntax:
public Ds\Deque::reduce( $callback, $initial ) : mixed
Parameters: This function accept two parameters as mentioned above and described below:
- callable: It contains the operation to be performed on the elements of Deque resulting into a single element.
- value: It holds the initial value of carry which will be the result after performing operation on all elements.
Return Value: This function returns the final value returned by the callback function.
Below programs illustrate the Ds\Deque::reduce() function in PHP:
Program 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));  Â?>  | 
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)
Program 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));  Â?>  | 
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)
Reference: http://php.net/manual/en/ds-deque.reduce.php

 
                                    







