已发现问题。谢谢大家。请停止投票。我明白了,问题很糟糕。
我正在做一个简单的while循环,其中有一个if语句不起作用。。。我不知道为什么。以下是循环和语句:
$d = 1;
while($d <= 2) {
if($d = 2) {
$dayznum = $dayznum2;
}
}
出于某种原因,循环执行了两次,但$dayznum
总是= $daysnum2
,我不知道为什么。
附加信息:
$d
未在脚本中的其他任何位置使用$dayznum
和$dayznum2
都是integers
if条件检查必须使用==
或===
运算符进行。因为=
是用来分配一些东西的。所以试试这个
if($d == 2){
$dayznum = $dayznum2;
}
您只使用了一个=
,而它应该是==
。
$d = 1;
while($d <= 2){
if($d == 2){
$dayznum = $dayznum2;
}
}
如果您也想检查类型,也可以使用===
。
您有两个问题。
1
if($d = 2) //Problem : = is an assignment operator , you should use == or ===
更改为
if($d == 2) // Make use of == or === for checking.
2
在while
循环[否则将进入无限循环]内增加$d
的值
像这样重写。
$d = 1;
while($d <= 2){
if($d == 2){$dayznum = $dayznum2;}
$d++; // Increment here.
}
这应该可以工作。将$d = 2
更改为$d ==2
,您就没有像$d++
那样的增量语句。考虑在环路中添加
$d = 1;
while($d <= 2){
if($d == 2){$dayznum = $dayznum2;}
$d++; //try to add this as well
}