为什么这个简单的PHP if语句不起作用,我该如何纠正呢?

Ali*_*cia 2 html php if-statement

这个if else语句不起作用:(在这种情况下,它显示'x is euqal to null')

<?php

$x = 0;

if ($x == 'null'){
    echo 'x is euqal to null';}

else if ($x == 0){
    echo 'x is equal to zero!';}

else if ($x == 1){
    echo 'x is equal to one!';}

?>
Run Code Online (Sandbox Code Playgroud)

我需要这个的原因是我正在编写一个测验程序,其中一个功能是它会在每个问题旁边显示一个勾号,十字或三个点,具体取决于用户是否已完成以及他们的分数是多少.

如果该问题的分数='null',那么他们还没有完成它(显示...)如果该问题的分数= 1则他们已经完成了,并且正确(显示勾号)如果得分为那个问题= 0然后他们没有,但错了(显示交叉)

我的实际代码是:

$score = ($_SESSION['score']);       
         if ($score[$questionList[$loop]['ID']]=='null'){ ?>
             <p style="display:inline;"> ...  </p> <?php } 
         else if ($score[$questionList[$loop]['ID']]==1){ ?>
             <p style="display:inline;"> &#10003  </p> <?php }      
        else if ($score[$questionList[$loop]['ID']]==0){ ?>
             <p style="display:inline;"> X  </p> <?php }  ?>  
Run Code Online (Sandbox Code Playgroud)

虽然它是更大页面的一部分.

我是PHP的新手,所以我可能在这里非常厚,但任何建议将非常感谢,谢谢:)

boz*_*doz 5

我相信第一个条件返回true,因为字符串等于0.请参阅有关比较运算符的文档.

解决方案是替换你=====.例如:

<?php

$x = 0;

if ($x === 'null'){
    echo 'x is euqal to null';}

else if ($x === 0){ \\true
    echo 'x is equal to zero!';}

else if ($x === 1){
    echo 'x is equal to one!';}

?>
Run Code Online (Sandbox Code Playgroud)