已经发现了这个问题。多谢你们。请立即停止投票。我知道了。不好的问题。
我正在做一个简单的while循环,并且里面有一个if语句,它不起作用......我不知道为什么。这是循环和声明:
$d = 1;
while($d <= 2) {
if($d = 2) {
$dayznum = $dayznum2;
}
}
出于某种原因,循环执行两次,但$dayznum
总是= $daysnum2
,我无法弄清楚原因。
其他信息:
$d
未在脚本中的任何其他位置使用
$dayznum
和$dayznum2
都是integers
答案 0 :(得分:2)
if条件检查必须使用==
或===
运算符完成。因为=
用于分配内容。所以试试这个
if($d == 2){
$dayznum = $dayznum2;
}
答案 1 :(得分:2)
=
时,您只使用了一个==
。
$d = 1;
while($d <= 2){
if($d == 2){
$dayznum = $dayznum2;
}
}
如果您想检查类型,也可以使用===
。
答案 2 :(得分:1)
你有两个问题。
if($d = 2) //Problem : = is an assignment operator , you should use == or ===
更改为
if($d == 2) // Make use of == or === for checking.
在 $d
循环中增加while
的值 [否则你会遇到无限循环]
像这样改写。
$d = 1;
while($d <= 2){
if($d == 2){$dayznum = $dayznum2;}
$d++; // Increment here.
}
答案 3 :(得分:0)
这应该有效。
将$d = 2
更改为$d ==2
,但您没有$d++
之类的增量语句。考虑在循环中添加它
$d = 1;
while($d <= 2){
if($d == 2){$dayznum = $dayznum2;}
$d++; //try to add this as well
}