PHP从json返回数字名称

时间:2018-01-21 21:01:28

标签: php json foreach

我有代码:

$json = file_get_contents('https://api.coinmarketcap.com/v1/ticker/?limit=0');
$coins = json_decode($json, true);
foreach($coins as $coin) {
  echo $coin->24h_volume_usd;
}

脚本返回错误:

  

解析错误:语法错误,意外的'24'(T_LNUMBER),期待   标识符(T_STRING)或变量(T_VARIABLE)或'{'或'$'...

是的,我知道我不能将名称JSON与数字一起使用,但我不能将24h_volume_usd更改为例如:h_volume_usd,因为这是从其他页面下载的值{{3 }})。

2 个答案:

答案 0 :(得分:2)

当一个对象键以数字开头时,你需要将它作为字符串文字包装在大括号中,如下所示:

$coin->{"24h_volume_usd"};

答案 1 :(得分:1)

通过将第二个参数设置为true,可以将json-string解码为关联数组。

$coins = json_decode($jsonString, true);
foreach($coins as $coin) {
  echo $coin['24h_volume_usd'];
}