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 ( )