php multi array search code example
Example: php search multidimensional array for multiple values
/**
* PHP Search an Array for multiple key / value pairs
*/
function multi_array_search($array, $search) {
// Create the result array
$result = array();
// Iterate over each array element
foreach ($array as $key => $value){
// Iterate over each search condition
foreach ($search as $k => $v){
// If the array element does not meet the search condition then continue to the next element
if (!isset($value[$k]) || $value[$k] != $v){
continue 2;
}
}
// Add the array element's key to the result array
$result[] = $key;
}
// Return the result array
return $result;
}
// Output the result
print_r(multi_array_search($list_of_phones, array()));
// Array ( [0] => 0 [1] => 1 )
// Output the result
print_r(multi_array_search($list_of_phones, array('Manufacturer' => 'Apple')));
// Array ( [0] => 0 )
// Output the result
print_r(multi_array_search($list_of_phones, array('Manufacturer' => 'Apple', 'Model' => 'iPhone 6')));
// Array ( )