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;"> ✓ </p> <?php }
else if ($score[$questionList[$loop]['ID']]==0){ ?>
<p style="display:inline;"> X </p> <?php } ?>
Run Code Online (Sandbox Code Playgroud)
虽然它是更大页面的一部分.
我是PHP的新手,所以我可能在这里非常厚,但任何建议将非常感谢,谢谢:)
我相信第一个条件返回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)