Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.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 从API调用获取响应时,如何从数组中获取变量?_Php - Fatal编程技术网

Php 从API调用获取响应时,如何从数组中获取变量?

Php 从API调用获取响应时,如何从数组中获取变量?,php,Php,成功登录第三方API访问后,使用以下代码: $response = Requests::post('https://apidomain.com/v3/account/login/api', $headers, $data); 当我打印时: echo '<pre>'; print_r($response); echo '</pre>'; 现在我想将access_令牌作为一个变量进行访问,这样我就可以进行进一步的处理 我尝试访问如下内容:$access\u token=$

成功登录第三方API访问后,使用以下代码:

$response = Requests::post('https://apidomain.com/v3/account/login/api', $headers, $data);
当我打印时:

echo '<pre>'; print_r($response); echo '</pre>';
现在我想将access_令牌作为一个变量进行访问,这样我就可以进行进一步的处理

我尝试访问如下内容:
$access\u token=$response[body']和$access\u token=$response[1][body']

不幸的是,一切都不起作用


我如何解决这个问题

使用@catcon的建议,我可以使用以下代码并使其工作:


因为
json\u decode()
需要第二个参数
true
作为数组进行解码。在这种情况下,您可以作为
$foo->access_token
访问它,或者添加
true
作为第二个参数并作为数组访问它。我无法获取它…您可以告诉我如何获取它的语法吗?因为使用json_decode()本身返回的错误为:不能使用类型为Requests_Response的对象作为数组来结束之前的注释,所以您的语法将是
$token=json_decode($Response,true)['access_token']
。您缺少第二个参数,
true
使其成为一个数组。当我使用
$token=json\u decode($response,true)['access\u token']
时,我得到:
json\u decode()期望参数1为字符串
Yes@catcon。谢谢,这是直截了当的。这就是我想要的答案。谢谢
Requests_Response Object
(
    [body] => {"access_token":"blabla",".issued":"2019-07-30T02:47:14.4326684Z",".expires":"2019-08-01T02:47:14.4326686Z"}
    [raw] => HTTP/1.1 200 OK
etc...
$token = json_decode($response->body, true)['access_token']; echo $token;