从数组中获取数据

时间:2014-11-15 14:20:59

标签: php arrays json

我正在尝试使用API​​。我在数组中以JSON编码数据。

现在我需要对数组进行编码以获得我需要的值,但是不知道该怎么做。我想得到pln值。

这就是我得到的:

object(stdClass)#1 (2) { 
    ["status"]=> string(2) "ok" 
    ["data"]=> object(stdClass)#2 (4) {   
        ["pln"]=> string(6) "0.0000" 
        ["usd"]=> string(6) "0.0000" 
        ["btc"]=> string(10) "0.00000000" 
        ["eur"]=> string(6) "0.0000" 
    } 
}

原始API代码:

function getBalance($url){
    $ch = curl_init();

    curl_setopt($ch,CURLOPT_URL, $url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

    $output = curl_exec($ch);

    curl_close($ch);
    return $output;
}

$url = $main_api_url.'balance/'.$api_user_id.'/'.$api_key.'/'.$api_secret.'/';

var_dump(
json_decode(
    getBalance($url)
)
);

这是我的代码:

function getBalance($url){
    $ch = curl_init();

    curl_setopt($ch,CURLOPT_URL, $url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

    $output = curl_exec($ch);

    curl_close($ch);
    return $output;
}

$url = $main_api_url.'balance/'.$api_user_id.'/'.$api_key.'/'.$api_secret.'/';

$json = file_get_contents($url);

$data = json_decode($json, TRUE);

print "$data[pln]";

我如何获得精确的pln值?我对整个阵列不感兴趣。

1 个答案:

答案 0 :(得分:1)

对于修改后的版本,因为它返回一个数组,你可以直接指向它:

echo $data['data']['pln'];

最后:

function getBalance($url) {
    $ch = curl_init();

    curl_setopt($ch,CURLOPT_URL, $url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

    $output = curl_exec($ch);

    curl_close($ch);
    return $output;
}

$url = $main_api_url.'balance/'.$api_user_id.'/'.$api_key.'/'.$api_secret.'/';
$json = file_get_contents($url);
$data = json_decode($json, true);

echo $data['data']['pln'];
       //   ^ its inside data