PHP JSON解码卷曲对象的值错误


PHP JSON Decode Curl Object Wrong Value

下面是我解析REST API URL的全部代码,以及我尝试做我需要它做的事情。我需要它告诉我订阅ID(在下面的示例中是"7")。但每次我调用它时,它都只是返回有效期。问题是,"7"总是会有所不同,这取决于他们选择的客户端和包。因此,我需要能够判断它是"7"、"8"还是"232",并将其回显或分配给变量。我该怎么做?我好像不明白。

CURL和JSON解码

$url = "HIDDEN";
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT, 4);
$json = curl_exec($ch);
if(!$json) {
    echo curl_error($ch);
}
curl_close($ch);
echo "<pre>";
print_r(json_decode($json));
echo "</pre>";
$obj = json_decode($json);
echo $obj->{'name_l'};
echo "<br />";
echo $obj->{'subscriptions'}->{7};

代码输出

stdClass对象([ok]=>1[user_id]=>3[name]=>内森·布朗[name_f]=>内森[name_l]=>棕色[电子邮件]=>test@email.com[登录名]=>用户名[subscriptions]=>stdClass对象([7] =>2014-10-03)
)
Brown
2014-10-03

不要被所有的模糊所混淆。您只想获取数组的第一个键(类似地,您可以获得当前值):

reset($obj->subscriptions); // Just to be safe
$foo = key($obj->subscriptions); // 7
$bar = current($obj->subscriptions); // 2014-10-03