2016-08-16 3 views
0
<?php function getCurrencyFor($arr, $findCountry) { 
    foreach($arr as $country) { 
     if ($country->name->common == $findCountry) { 
      $currency = $country->currency[0]; 
      $capital = $country->capital; 
      $region = $country->region; 

      break; 
     } 
    } 
    return $country(); 
} 

$json = file_get_contents("https://raw.githubusercontent.com/mledoze/countries/master/countries.json"); 
$arr = json_decode($json); 
// Call our function to extract the currency for Angola: 
$currency = getCurrencyFor($arr, "Aruba"); 

      echo $country('$capital'); 
      echo $country('$currency'); 
      echo $country('$region'); 



?> 

Я последовал за этот пост - https://stackoverflow.com/a/38906191/3939981.JSON файл Получение данных - Посмотрите на значение и получить связанные объекты

Если я переписать код внутри функции, она работает

<?php function getCurrencyFor($arr, $findCountry) { 
    foreach($arr as $country) { 
     if ($country->name->common == $findCountry) { 
      $currency = $country->currency[0]; 
      $capital = $country->capital; 
      $region = $country->region; 
      echo $capital; 
      echo $currency; 
      echo $region; 
      break; 
     } 
    } 
    return $currency; 
} 

$json = file_get_contents("https://raw.githubusercontent.com/mledoze/countries/master/countries.json"); 
$arr = json_decode($json); 
// Call our function to extract the currency for Angola: 
$currency = getCurrencyFor($arr, "Aruba"); 
?> 

Может быть, некоторые части кода не работало..Ажно комментировать и хотя

ответ

0

Вы можете использовать этот код. Обратите внимание: если вы хотите, чтобы функция возвращала три значения, вы должны создать массив с этими значениями и вернуть этот массив. Я также переименовал эту функцию, поскольку она не только возвращает информацию о валюте:

function getCountryInfo($arr, $findCountry) { 
    foreach($arr as $country) { 
     if ($country->name->common == $findCountry) { 
      return array(
       "currency" => $country->currency[0], 
       "capital" => $country->capital, 
       "region" => $country->region 
      ); 
     } 
    } 
} 

$json = file_get_contents("https://raw.githubusercontent.com/mledoze/countries/master/countries.json"); 
$arr = json_decode($json); 
// Call our function to extract the currency for Angola: 
$country = getCountryInfo($arr, "Aruba"); 

echo $country['capital'] . "<br>"; 
echo $country['currency'] . "<br>"; 
echo $country['region'] . "<br>"; 
+0

Я так рад, что вы снова помогли мне .. это прекрасно работает ... Спасибо миллион. –

+0

Не забудьте отметить ответ, как принято. – trincot

+0

его удивительный ... Я сделал –

 Смежные вопросы

  • Нет связанных вопросов^_^