从URL

时间:2018-05-09 15:50:10

标签: php json parsing curl

我正在尝试访问从此网址返回的JSON中的某些值:https://api.crypto-bridge.org/api/v1/ticker

基本上,我希望能够获得最后一次,音量,问题&出价“id”:“FROST_BTC”(例如)

目前,我只想将这些内容反映到php页面上。

像:

Volume = 0.13
Ask = 0.033
Bid = 0.035
Last = 0.034

由于页面上的数据量很大,我根本不确定如何解决这个问题?任何想法,例子或读物,所以我可以想出这个?

PHP会偏好,但可以尝试/学习任何东西。

1 个答案:

答案 0 :(得分:1)

只需使用php curl

尝试这样做
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_URL => "https://api.crypto-bridge.org/api/v1/ticker",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
    echo "cURL Error #:" . $err;
} else {
    $response_array = json_decode($response,1);
}
/*
# JUST FOR DEBUGGING PURPOSE
print '<pre>';
print_r($response_array);
print '</pre>';
*/
foreach($response_array as $k=>$v){
    echo "id = {$v['id']}, last = {$v['last']}, volume = {$v['volume']}, ask = {$v['ask']}, bid = {$v['bid']}";
    echo PHP_EOL;  
}
?> 
  

编辑:根据评论

方式1 :打印第1行后使用break;

foreach($response_array as $k=>$v){
    echo "id = {$v['id']}, last = {$v['last']}, volume = {$v['volume']}, ask = {$v['ask']}, bid = {$v['bid']}";
    echo PHP_EOL;  
    break;
}

方式2 抓住第一行,然后使用循环打印

$first_row = $response_array[0];
foreach($first_row as $k=>$v){
    echo "$k = $v";
}

方式3 使用array_filter()进行特定行打印

$vacek_required = array_filter($response_array, function ($var) {
    return ($var['id'] == 'WGR_BTC');
});

foreach($vacek_required as $k=>$v){
    echo "$k = $v";
}