Open In App

PHP array_reduce() Function

Last Updated : 20 Jun, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

This inbuilt function of PHP is used to reduce the elements of an array into a single value that can be of float, integer or string value. The function uses a user-defined callback function to reduce the input array.

Syntax

array_reduce($array, own_function, $initial)

Parameters: 
The function takes three arguments and are described below:  

  1. $array (mandatory): This is a mandatory parameter and refers to the original array from which we need to reduce.
  2. own_function (mandatory): This parameter is also mandatory and refers to the user-defined function that is used to hold the value of the $array
  3. $initial (optional): This parameter is optional and refers to the value to be sent to the function.

Return Value: This function returns the reduced result. It can be of any type int, float or string.

Examples:  

Input : $array = (15, 120, 45, 78)
        $initial = 25
        own_function() takes two parameters and concatenates 
        them with "and" as a separator in between
Output : 25 and 15 and 120 and 45 and 78

Input : $array = array(2, 4, 5);
        $initial = 1
        own_function() takes two parameters 
        and multiplies them.
Output : 40

In this program, we will see how an array of integer elements is reduced to a single string value. We also passed the initial element of our choice. 

PHP




<?php
// PHP function to illustrate the use of array_reduce()
function own_function($element1, $element2)
{
    return $element1 . " and " . $element2;
}
  
$array = array(15, 120, 45, 78);
print_r(array_reduce($array, "own_function", "Initial"));
?>


Output: 

Initial and 15 and 120 and 45 and 78

In the below program, the array_reduce reduces the given array to the product of all the elements of the array using the own_function(). 

PHP




<?php
// PHP function to illustrate the use of array_reduce()
function own_function($element1, $element2)
{
    $element1 = $element1 * $element2;
    return $element1;
}
  
$array = array(2, 4, 5, 10, 100);
print_r(array_reduce($array, "own_function", "2"));
?>


Output: 

80000

Reference
http://php.net/manual/en/function.array-reduce.php
 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads