PHP if($d=2) not working


PHP if($d=2) not working

已发现问题。谢谢大家。请停止投票。我明白了,问题很糟糕。

我正在做一个简单的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
   }