PHP get or find the highest or maximum value in a multidimensional array. In this tutorial, you will learn how to get the maximum or highest value from the multidimensional array in PHP.
Working with multidimensional arrays in PHP is a common task. In some cases, you may need to find the highest value in a multidimensional array. In this article, you will learn different methods to find the highest value in a multidimensional array in PHP.
You should also read this array posts in PHP:
- PHP compare two array keys and values
- php remove element from array
- php remove duplicates from array
This tutorial shows you two easy ways to find the highest or max value from the multidimensional array in PHP.
How Find/Get Highest Value in Multidimensional Array
To find/get highest/max value from multidimensional array in php, you can use the following methods:
- Method 1: Using a ForEach Loop with Max
- Method 2: Using the max function and array_merge
- Method 3: Using array_reduce and max
- Method 4: Using for loop with max
Method 1: Using a ForEach Loop with Max
One of the simplest methods to find the highest value in a multidimensional array is by using a loop. Here’s an example code snippet that demonstrates how to use this method:
// Define a sample multidimensional array $array = array( array(5, 10, 15), array(20, 25, 30), array(35, 40, 45), ); // Initialize the maximum variable to the first element $max = $array[0][0]; // Loop through each element in the multidimensional array foreach($array as $sub_array) { foreach($sub_array as $element) { if($element > $max) { $max = $element; } } } // Print the maximum value echo $max;
Output:
45
In this method, we first initialize the maximum variable to the first element of the multidimensional array. We then use a nested loop to iterate through each element in the array. We compare each element with the maximum variable and update it if the element is greater than the maximum variable.
Method 2: Using the max function and array_merge
Another method to find the highest value in a multidimensional array is by using the max function and array_merge. Here’s an example code snippet that demonstrates how to use this method:
// Define a sample multidimensional array $array = array( array(5, 10, 15), array(20, 25, 30), array(35, 40, 45), ); // Merge all sub-arrays into a single array $merged_array = call_user_func_array('array_merge', $array); // Find the maximum value using the max function $max = max($merged_array); // Print the maximum value echo $max;
Output:
45
In this method, we use the array_merge function to merge all the sub-arrays into a single array. We then use the max function to find the maximum value in the merged array.
Method 3: Using array_reduce and max
Another method to find the highest value in a multidimensional array is by using the array_reduce function and max function. Here’s an example code snippet that demonstrates how to use this method:
// Define a sample multidimensional array $array = array( array(5, 10, 15), array(20, 25, 30), array(35, 40, 45), ); // Define a callback function to find the maximum value $callback = function($carry, $item) { return max($carry, max($item)); }; // Use array_reduce to apply the callback function to each sub-array $max = array_reduce($array, $callback, PHP_INT_MIN); // Print the maximum value echo $max;
Output:
45
In this method, we define a callback function that finds the maximum value in each sub-array using the max function. We use the array_reduce function to apply the callback function to each sub-array in the multidimensional array. Finally, we use the PHP_INT_MIN constant to initialize the carry variable to the lowest possible integer value.
Method 4: Using for loop with max
Let’s take the second example, to get the highest value in the multidimensional array using for loop in PHP.
<?php //get the max value from multi dimenstion array in php $array = [[100, 200, 600],[205, 108, 849, 456],[548, 149, 7840]]; $max = 0; for($i=0;$i<count($array);$i++) { for($j=0;$j<count($array[$i]);$j++) { if ($array[$i][$j] > $max) { $max = $array[$i][$j]; } } } print $max; ?>
The output of the above code is: 7840
Conclusion
PHP get or find the highest or maximum value in a multidimensional array. In this tutorial, you have learned how to get the maximum or highest value from the multidimensional array in PHP.