new ExtJsonDecoder(true)]); $filtered_data = array(); foreach ($cities as $name => $data) { $id = searchForNationality($data['iso2'], $countries_array); $nationality = isset($countries_array[$id]['nationality']) ? $countries_array[$id]['nationality'] : ''; $flag = "https://autohub.ph/api/countries/flags/" . strtolower($data['iso2']) . ".png"; $data['flag'] = $flag; $data['nationality'] = $nationality; $filtered_data[] = $data; } echo json_encode($filtered_data); exit; if (isset($_REQUEST['c'])) { $alpha_2_code = trim($_REQUEST['c']); if (isset($_REQUEST['data'])) { $data = trim($_REQUEST['data']); switch ($data) { case 'city': /*$cities = Items::fromFile('cities.json', [ 'pointer' => ['/0/country_code'] ]); */ $cities = Items::fromFile('cities.json', ['decoder' => new ExtJsonDecoder(true)]); $filtered_cities = array(); foreach ($cities as $name => $data) { if ($data['country_code'] == $alpha_2_code) { $filtered_cities[] = array( 'name' => $data['name'], /*'country_name'=>$data['country_name'],*/ 'latitude' => $data['latitude'], 'longitude' => $data['longitude'], ); } } echo json_encode($filtered_cities); break; } } else { $countries_array = json_decode($json, true); $id = searchForId($alpha_2_code, $countries_array); if ($id) { echo json_encode($countries_array[$id]); } else { echo "Country not found."; } } } else { echo $json; } function searchForId($id, $array) { foreach ($array as $key => $val) { if ($val['alpha_2_code'] === $id) { return $key; } } return null; } function searchForNationality($id, $array) { foreach ($array as $key => $val) { if ($val['alpha_2_code'] === $id) { return $key; } } return null; }