如何使用PHP回显JSON数据

时间:2018-02-07 05:33:42

标签: php json

{
  USD_INR: {
    2017-12-31: 63.830002
  },
  INR_USD: {
    2017-12-31: 0.015667
  }
}

我尝试过以下方法,

$url = file_get_contents("https://free.currencyconverterapi.com/api/v5/convert?q=USD_INR,INR_USD&compact=ultra&date=2017-12-31");
$result = json_decode($url);
echo $result->USD_INR;

但它确实有效,任何人都可以帮助我做错的地方。

3 个答案:

答案 0 :(得分:1)

您可以在true上添加json_decode作为第二个参数,以使其成为关联数组。

$url = file_get_contents("https://free.currencyconverterapi.com/api/v5/convert?q=USD_INR,INR_USD&compact=ultra&date=2017-12-31");
$result = json_decode($url, true);

并将其视为:

echo $result["USD_INR"]["2017-12-31"];

这将导致:63.830002

Doc:http://php.net/manual/en/function.json-decode.php

您可以foreach循环获取所有值

$url = file_get_contents("https://free.currencyconverterapi.com/api/v5/convert?q=USD_INR,INR_USD&compact=ultra&date=2017-12-31");
$result = json_decode($url, true);

foreach ( $result as $value ) {
    foreach ( $value as $date => $rate ) {
        echo $date . ": " . $rate . "<br />";
    }
}

这将导致:

2017-12-31: 63.830002
2017-12-31: 0.015667

答案 1 :(得分:1)

只需在$todaysDate变量中传递您想要价格的日期。

$todaysDate = "2017-12-31";
$url = file_get_contents("https://free.currencyconverterapi.com/api/v5/convert?q=USD_INR,INR_USD&compact=ultra&date=$todaysDate");
$result = json_decode($url);

echo ($result->USD_INR->$todaysDate);

答案 2 :(得分:1)

您正在尝试回显对象,使用print_r这样打印USD_INR

$url = '{"USD_INR":{"2017-12-31":63.830002},"INR_USD":{"2017-12-31":0.015667}}';
$result = json_decode($url);
print_r($result->USD_INR);

OR以回显2017-12-31

USD_INR的值
$url = '{"USD_INR":{"2017-12-31":63.830002},"INR_USD":{"2017-12-31":0.015667}}';
$result = json_decode($url);
echo $result->USD_INR->{'2017-12-31'};

使用{'2017-12-31'},因为2017-12-31不合适variable name

Live demo