PHP从键值中获取curl数组结果

时间:2017-09-16 02:06:01

标签: php oauth

我试图从curl响应中获取access_token值。 [0]的键值会像{"access_token":"430f8a7d4f721a9e51e3558689ff28ec592923d2","expires_in":3600,"token_type":"Bearer","scope":null}那样呈现出来。

但是,我只需要嵌套在access_token内的值,即430f8a7d4f721a9e51e3558689ff28ec592923d2

使用以下方式呈现输出:

$cmd="curl -u testuser:123456 http://localhost/oauth2/server/token.php -d 'grant_type=client_credentials'";
exec($cmd,$result);

echo '<pre>'; print_r($result[0]); echo '</pre>';

怎么可能这样做?

不过,这些都不是敏感数据。我只是在试验oauth2。

2 个答案:

答案 0 :(得分:0)

在结果上使用 json_decode 功能。

<?php
$json = '{"access_token":"430f8a7d4f721a9e51e3558689ff28ec592923d2","expires_in":3600,"token_type":"Bearer","scope":null}';

// Decode the JSON into an object
$decodedJson = json_decode($json);
$accessToken = $decodedJson->access_token;
var_dump($decodedJson,$accessToken);

// Decode the JSON into an array (note the true on the decode)
$decodedJson = json_decode($json,true);
$accessToken = $decodedJson['access_token'];
var_dump($decodedJson,$accessToken);

答案 1 :(得分:0)

编码json结果,找到子集。

$json = $result[0];
$json = json_decode($json, true);
echo $json['access_token'];