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