#php #arrays #json
Вопрос:
У меня есть этот код, который получает массив из URL-адреса API.
<?php
$url = 'https://api.example.com/v1/w';
$data = file_get_contents($url);
$data = json_decode($data);
echo '<pre>' , var_dump($data->rule->deny_countries) , '</pre>';
?>
Он отображает это:
array(3) {
[0]=>
string(2) "US"
[1]=>
string(2) "ES"
[2]=>
string(2) "MX"
}
Как я могу печатать только значения строк? (US, ES и MX), которые являются кодами стран, и я хочу преобразовать их в полное название страны, например: Соединенные Штаты, Испания, Мексика.
Ответ №1:
Вы можете распечатать код страны с помощью этого кода:
$country_code = $data->rule->deny_countries;
echo $country_code[0]; // print US
echo $country_code[1]; // print ES
// ecc.
Вы можете создать массив для преобразования кода страны в название страны следующим образом:
$country_name = array("US"=>"United States", "ES"=>"Spain", "MX"=>"Mexico");
И затем вы можете напечатать название страны с помощью этого кода
echo $country_name[$country_code[0]]; // print United States
echo $country_name[$country_code[1]]; // print Spain
// ecc.
Комментарии:
1. я действительно ценю тебя @Stefino76 сейчас он работает panelcws.com/axel/decode.php Могу ли я добавить img перед названием страны в массиве?
2. Я хочу поставить флаг img страны перед именем, заранее благодарю!
3. Вы можете создать другой массив, например $img_file = array(«US»=> «us.png», «ES»=> «sp.png», «MX»=>»mx.png»); а затем повторить ‘<div><img src=»‘. $img_file[$country_code[1]].'»>’.$ имя_страны_[$country_code[1]].'</div>’;
4. @AxelGomez — … или просто вызывайте изображения
US.png
и так далее и делайте:src="' . $country_code[0] . '.png"
5. Спасибо!! @Stefino76 теперь работает! Ты мужик!