PHP curl响应采用JSON格式,但var_dump显示字符串

时间:2014-03-06 00:20:53

标签: php json facebook-graph-api curl

我正在尝试从Facebook收集信息,以便通过Graph API Explorer自动推送到页面。

我有curl请求正常工作,它给了我有效的JSON(用验证器检查)。

我收到以下错误:警告:为foreach()提供的参数无效

如果我执行var_dump,则将其声明为字符串。

PHP:

$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => $url,
    CURLOPT_HEADER =>false,
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_SSL_VERIFYHOST => false,
));
$response = curl_exec($curl);
curl_close($curl);

 foreach($response as $posts){
   if($posts['from']['id']='230594106985291'){
      echo "<div class='contentItem'>";
      echo $posts['message'];
      echo "</div>";
    }
  }

此处列出的示例卷曲响应:http://jsfiddle.net/X933V/

1 个答案:

答案 0 :(得分:5)

我认为在循环之前你需要decode your json作为一个数组

$response = curl_exec($curl);
curl_close($curl);
$json = json_decode($response, true); //note the second parameter true 
                                    //to have decoded as an associative array
foreach($json as $posts){