我正在开发一个Facebook应用程序,我有一些PHP功能。当我打电话给其中一个时,请求会一遍又一遍地发送并进入无限循环。我不知道为什么。 我的职责是:
function writeJSON()
{
if (!$user_id) {
echo "User not logged in";
}
else
{
global $arrayForJSON,$user_id;
$arrayForJSON['a']='b';
var_dump($arrayForJSON);
}
}
如果我像这样运行它,它将显示
array(size = 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文件
答案 0 :(得分:0)
没有任何地方可以在两个函数中进行任何循环或递归。很可能你的getLikes()
函数是从发布代码之外的其他地方重复调用的。
有一个类似的问题here,这表明Facebook授权可能会以某种方式出错。我在这里包含链接,因为可能有一些你没有显示的代码可能导致相同的行为。但是,它不能仅仅由您发布的代码引起。