PHP Array Exercises : Filter a multi-dimensional array and get those items that will match with the specified value
PHP Array: Exercise-52 with Solution
Write a PHP function to filter a multi-dimensional array. The function will return those items that will match with the specified value.
Sample Solution:
PHP Code:
<?php
// Function to filter a multi-dimensional array based on a specific value in a specified index
function array_filter_by_value($my_array, $index, $value)
{
// Check if the input is a non-empty array
if(is_array($my_array) && count($my_array) > 0)
{
// Loop through the keys of the input array
foreach(array_keys($my_array) as $key){
// Extract the value at the specified index for the current key
$temp[$key] = $my_array[$key][$index];
// Check if the extracted value matches the desired value
if ($temp[$key] == $value){
// If so, add the corresponding array to the new array
$new_array[$key] = $my_array[$key];
}
}
}
// Return the filtered array
return $new_array;
}
// Example usage
$colors = array(
0 => array('key1' => 'Red', 'key2' => 'Green', 'key3' => 'Black'),
1 => array('key1' => 'Yellow', 'key2' => 'White', 'key3' => 'Pink')
);
// Filter the array based on the value 'White' in the 'key2' index
$results = array_filter_by_value($colors, 'key2', 'White');
// Print the filtered results
print_r($results);
?>
Output:
Array ( [1] => Array ( [key1] => Yellow [key2] => White [key3] => Pink ) )
Flowchart:
PHP Code Editor:
Contribute your code and comments through Disqus.
Previous: Write a PHP program to filter out some array elements with certain key-names.
Next: Write a PHP script to delete a specific value from an array using array_filter() function.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/php-exercises/php-array-exercise-52.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics