JSON_DECODE()不会解码Google Places API响应中的所有结果

时间:2017-07-21 03:55:07

标签: php curl google-places-api decode

这是我到目前为止所拥有的。当我访问URL时看到9个结果,使用curl后,它仍会在打印出来后显示9个结果。当我使用json_decode函数时,它只创建了3个结果。我到处都没找到任何东西。在这个时候,正确方向的一点帮助会很好。

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true );
    // This is what solved the issue (Accepting gzip encoding)
    curl_setopt($ch, CURLOPT_ENCODING, "gzip,deflate");
    $result = curl_exec($ch);
    curl_close($ch);

所以当我开始解码时

// decode the json
$resp = json_decode($result, true);

我只有3个关联数组,因为我做了

count($resp);

并以此方式弄明白。 json_decode()函数的作用是否有限制?

1 个答案:

答案 0 :(得分:1)

我在第一个括号中计算数组,因此总是显示3个结果

enter image description here

查看您何时执行

count($resp);

您只计算html_attributions,结果和状态。

如果你想计算你要做的数组

count($resp['results']);

这将计算结果中的数组。