Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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
JSON到PHP变量_Php_Json_Api - Fatal编程技术网

JSON到PHP变量

JSON到PHP变量,php,json,api,Php,Json,Api,这是我的JSON API调用的输出 通过PHP请求 我想通过变量中的“foreach”php命令来描述这些结果。像这样: foreach ($resp->response->data as $object): { $subjects = $object->subjects 但我如何才能做到这一点?上述方法不起作用。。我已经试过很多剧本 您实际上并没有将下载的输出解码到数组中。 您需要使用json_解码;在数据上,将其转换为数组或对象 $resp = json_decode(

这是我的JSON API调用的输出

通过PHP请求

我想通过变量中的“foreach”php命令来描述这些结果。像这样:

foreach ($resp->response->data as $object): {

$subjects = $object->subjects

但我如何才能做到这一点?上述方法不起作用。。我已经试过很多剧本

您实际上并没有将下载的输出解码到数组中。 您需要使用json_解码;在数据上,将其转换为数组或对象

$resp = json_decode($resp);
$resp = json_decode($resp, true);
将创建一个对象

$resp = json_decode($resp);
$resp = json_decode($resp, true);

将创建一个数组。

此代码不起作用的原因是curl将json作为字符串获取。所以你要做的是通过一个普通的字符串而不是数组进行循环

您可以使用此选项将json字符串转换为关联数组:

json_decode($resp, true);

在关联数组中转换数据时,您只需以json格式编写的方式使用数据,就可以轻松地循环使用数据。

您可以使用json_decode将json转换为关联数组。当它们位于这些数组中时,您也可以轻松地进行foreach。使用json_解码$resp,为真,您将获得php数组..当我现在转储$resp时,我得到以下响应:数组[response]=>array[status]=>200[message]=>[details]=>0[startRow]=>0[endRow]=>1023[totalRows]=>1023[data]=>array[id]=>357185[start]=>1429856400[end]=>1429859400[subjects]=>array[0]=>低。。。谢谢你!但是我现在如何将这些数组存储到变量中呢?当我尝试打印\r$resp->response->data或打印\r$resp->$response->$data时,我得到一个未定义的变量:response。我做错了什么?你是在把它变成一个对象还是一个数组?如果您使用的是数组,它将是$resp['response']['data'];他感谢你的帮助。但是现在还没有。。我的代码现在看起来是这样的:foreach$vliegschema1['response']['data']as$key=>$info:lesgroep=$info['groups'];打印\u r$lesgroep;。这很好地响应了所有的“goups”如下:数组[0]=>1a1数组[0]=>1ha2s数组[0]=>1ha2s。但我如何将其存储在变量中,然后再次响应它呢?因为我现在得到一个通知:数组到字符串的转换。。再次感谢