EDIT:这段代码现在工作正常,我只是在有人发现自己处于我的情况时才留下它。谢谢
我的代码遇到了一个非常奇怪的情况。我有以下内容:
$m = 0; $star = ""; $star2 = "";
while($star == "")
{
//some stuff
if(m1 == 0) { break; }
$m1 -= 1;
}
出于某种疯狂的原因,当我调试此代码时,它只运行while循环一次(尽管$star
仍然等于""
,然后到达if
并中断。我尝试过不同的方法,但都无济于事。有人知道为什么会发生这种事吗?
m1之前没有$,所以PHP会假设它是一个文字字符串"m1",并抛出一个通知错误然后将m1'与0进行比较,这是真的,并且循环中断。
您在示例中也没有初始化$m1,所以即使使用$m1,它仍然会中断。
确保你打开了所有的PHP错误和警告,它们对这样的事情很有帮助!
我想你是这行的一个拼写错误
$star2 = ""
m1
被视为空字符串,因为没有具有该名称的常量。然后它被转换成一个整数,给出0
,当然它等于0
。因此,您的循环在第一次迭代中退出。
也许你在m1
前面忘了一个$
?