如何从 JSON 响应中获取逗号分隔的数组?
How to get comma seperated array from JSON response?
我目前正在尝试以逗号分隔的字符串形式获取过去 30 天的所有比特币价格。
例如,我通过 https://api.coinbase.com/v2/prices/btc-eur/spot?date=11.03.2016 从 coinbase api 获取价格。
现在我做的是一个 for 循环,它将过去 30 天的每个日期插入 api link 并给我一个包含所有价格的长字符串。我现在想用逗号分隔该字符串中的每个价格。
这里是目前的代码:
<?php
for($i=1; $i<=30; $i++)
{
$pricedates = date('Y-m-d', strtotime('-'.$i.' days',strtotime(date('Y-m-d'))));
//Coinbase API for Historical Rates
// Get data from Coinbase API
$url = "https://api.coinbase.com/v2/prices/btc-eur/spot?date=".$pricedates."";
$btcdata = @file_get_contents($url);
$btcdata = json_decode($btcdata, true);
$btcprice = $btcdata['data']['amount'];
}
?>
示例数据
{"data":{"amount":"661.45","currency":"EUR"},"warnings":[{"id":"missing_version","message":"Please supply API version (YYYY-MM-DD) as CB-VERSION header","url":"https://developers.coinbase.com/api#versioning"}]}
如果将 $btcprice = $btcdata['data']['amount'];
更改为 $btcprice[] = $btcdata['data']['amount'];
,您将得到一个包含所有 30 个值的数组。
然后你可以使用implode()
将数组的各个部分粘合成一个字符串。
$btcprices_str = implode(',', $btcprice);
我目前正在尝试以逗号分隔的字符串形式获取过去 30 天的所有比特币价格。
例如,我通过 https://api.coinbase.com/v2/prices/btc-eur/spot?date=11.03.2016 从 coinbase api 获取价格。
现在我做的是一个 for 循环,它将过去 30 天的每个日期插入 api link 并给我一个包含所有价格的长字符串。我现在想用逗号分隔该字符串中的每个价格。
这里是目前的代码:
<?php
for($i=1; $i<=30; $i++)
{
$pricedates = date('Y-m-d', strtotime('-'.$i.' days',strtotime(date('Y-m-d'))));
//Coinbase API for Historical Rates
// Get data from Coinbase API
$url = "https://api.coinbase.com/v2/prices/btc-eur/spot?date=".$pricedates."";
$btcdata = @file_get_contents($url);
$btcdata = json_decode($btcdata, true);
$btcprice = $btcdata['data']['amount'];
}
?>
示例数据
{"data":{"amount":"661.45","currency":"EUR"},"warnings":[{"id":"missing_version","message":"Please supply API version (YYYY-MM-DD) as CB-VERSION header","url":"https://developers.coinbase.com/api#versioning"}]}
如果将 $btcprice = $btcdata['data']['amount'];
更改为 $btcprice[] = $btcdata['data']['amount'];
,您将得到一个包含所有 30 个值的数组。
然后你可以使用implode()
将数组的各个部分粘合成一个字符串。
$btcprices_str = implode(',', $btcprice);