0

我正在开发一个 facebook 应用程序,并且我有一些 php 函数。当我调用其中一个时,请求会一遍又一遍地发送并进入无限循环。我不知道为什么。我的功能是:

function writeJSON()
{
    if (!$user_id) {
        echo "User not logged in";
    }
   else
{
global $arrayForJSON,$user_id;
$arrayForJSON['a']='b';
var_dump($arrayForJSON);
}  
}

如果我像这样运行它,它会显示

数组(大小=1)'a' => 字符串'b'(长度=1)

哪个是对的。但是,如果我运行另一个向 中添加更多元素的函数$arrayForJSON,它将进入循环。另一个功能是:

function getLikes()
{
    global $facebook,$user_id,$arrayForJSON;
    $likes=NULL;
    if($user_id) {
          try {
            if(is_null($likes))
            $likes = idx($facebook->api('/me/likes'), 'data', array());
            if ($likes) {
                $arrayForJSON['likes']=$likes;
            } 
        }
        catch(FacebookApiException $e){
             echo error_log($e);
        }
        echo "done";
        var_dump($arrayForJSON);
    }
    else
        echo "Not working";

请伸出援助之手,我已经为此工作了一段时间,但我不知道该怎么办。


如果我在打电话writeJSON()之前打电话getLikes(),它会起作用。如果我之后调用它,它会进入循环。我显然需要在调用后调用它getLikes,因为我需要将该数据写入 JSON 文件

4

1 回答 1

0

在您的两个函数中都没有任何地方可能存在任何循环或递归。很可能您的getLikes()函数正在从已发布代码之外的其他地方重复调用。

这里有一个类似的问题,这表明 Facebook 授权可能存在某种错误。我在这里包含链接是因为可能有一些您没有显示的代码可能会导致相同的行为。但是,它不能仅仅由您发布的代码引起。

于 2013-04-25T23:24:19.407 回答