Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从数组中获取数据_Php_Arrays_Json - Fatal编程技术网

Php 从数组中获取数据

Php 从数组中获取数据,php,arrays,json,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"]=> str

我正在尝试使用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值?我对整个数组不感兴趣。

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

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
你能把
放在var\u dump$数据之前吗?不确定,但我认为你可以像这样访问“pln”
$data->data->pln