.JSON 文件检索数据 - 查找值并获取相关对象

.JSON file Retrieving Data - Look for a value and get related objects

    <?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');



?>

我关注了这个 post -

如果我重写函数内部的代码,就可以了

 <?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");
?>

也许代码的某些部分不起作用..任何评论和想法

您可以使用此代码。请注意,如果您想要一个函数 return 三个值,您应该使用这些值创建一个数组,然后 return 该数组。我还重命名了函数,因为它不仅 return 货币信息:

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>";