Php 访问stdobject的第一个元素

Php 访问stdobject的第一个元素,php,json,Php,Json,我使用的API得到以下响应: {"BTC_LTC":{"last":"0.0251","lowestAsk":"0.02589999","highestBid":"0.0251","percentChange":"0.02390438", "baseVolume":"6.16485315","quoteVolume":"245.82513926"},"BTC_NXT":{"last":"0.00005730","lowestAsk":"0.00005710", "highestBid":"0.0

我使用的API得到以下响应:

{"BTC_LTC":{"last":"0.0251","lowestAsk":"0.02589999","highestBid":"0.0251","percentChange":"0.02390438",
"baseVolume":"6.16485315","quoteVolume":"245.82513926"},"BTC_NXT":{"last":"0.00005730","lowestAsk":"0.00005710",
"highestBid":"0.00004903","percentChange":"0.16701570","baseVolume":"0.45347489","quoteVolume":"9094"}, ... }
当我知道密钥时,访问对象是没有问题的

$result = json_decode(file_get_contents($url));
$result->BTC_LTC->last
就我而言,我不知道XXX_XXX键。我怎样才能拿到钥匙?我尝试了$result->{0}/$result->[0]/$result{0}/$result[0]之类的方法,但没有成功


如何检索XXX_XXX的值(例如,在上面的BTC_LTC示例中)?

使用一个应该工作的foreach循环

foreach($result as $k=>$v)
{
 .
 .
 .
}

json\u decode
的第二个参数允许指定要返回的数组:

$result = json_decode(file_get_contents($url),true);

现在,结果是一个数组,您可以像往常一样使用它(循环、数组键、e.t.c.)。

这应该可以做到:

<?php

$json = '{"BTC_LTC":{"last":"0.0251","lowestAsk":"0.02589999","highestBid":"0.0251","percentChange":"0.02390438",
"baseVolume":"6.16485315","quoteVolume":"245.82513926"},"BTC_NXT":{"last":"0.00005730","lowestAsk":"0.00005710",
"highestBid":"0.00004903","percentChange":"0.16701570","baseVolume":"0.45347489","quoteVolume":"9094"}}';

$result = json_decode($json);
$vars = get_object_vars($result);
$keys = array_keys($vars); 


echo $vars[$keys[0]]->last;

?>

你可以试试代码