如何从JSON响应中获取逗号分隔数组?

时间:2016-11-03 14:12:48

标签: php json string api comma

我目前正试图以逗号分隔的字符串获取过去30天内的所有比特币价格。

我通过https://api.coinbase.com/v2/prices/btc-eur/spot?date=11.03.2016获得了coinbase api的价格。

现在我所做的是一个for循环,它将过去30天的每个日期插入api链接,并给我一个包含所有价格的长字符串。我现在想用逗号分隔该字符串中的每个价格。

此处代码目前:

<?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"}]}

1 个答案:

答案 0 :(得分:1)

如果您将$btcprice = $btcdata['data']['amount'];更改为$btcprice[] = $btcdata['data']['amount'];,您最终会得到一个包含所有30个值的数组。

然后你可以使用implode()将数组的各个部分粘合成一个字符串。 $btcprices_str = implode(',', $btcprice);