我有一个php文件,它基本上使用JSON读取一个页面,并返回一个变量(pending / paid / expired)。现在我的简单要求是,如果返回的变量是付费/过期的,则应该采取相应的操作,并且不应重复循环,但如果响应处于待决状态,则代码应在10秒后重新检查。然后再次发生类似的循环,依此类推,直到循环停止(通过接收过期/付费响应。
这里是我使用我在各个地方找到的例子准备的代码,但这似乎没有正常工作..请指导..
while($end==0) {
$json = file_get_contents('http://old.kbourbaki.com/xlisteningpageprestashop.aspx?yyyyyyy');
$obj = json_decode($json);
$result=$obj->response;
echo($result);
if ($result=='paid') {
p('Order Successfull');
$end=1;
} elseif ($result=='expired' ) {
p('status = expired');
$end=1;//ex
} else {
d('status = Pending');
sleep(10);
}
}
CODE UPDATED额外'{'已移除
答案 0 :(得分:2)
你有一个太多的花括号。 正确的elseif和else块应该看起来像这样
} elseif ($result=='expired' ) {
p('status = expired');
$end=1;//ex
} else {
如果您正确格式化代码,它会对您有所帮助。
答案 1 :(得分:0)
在最后一个ELSE之前关闭IF条件只是删除了闭合扣。
if($result=='paid'){
p('Order Successfull');
$end=1;
}else if($result=='expired'){
p('status = expired');
$end=1;//ex
}else{
d('status = Pending');
sleep(10);
}