php - 为什么这个简单的 PHP if 语句不起作用,我该如何更正它?

标签 php html 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!';}

?>

我需要这个的原因是我正在编写一个测验程序,其中一个功能是它根据用户是否已经完成以及他们的分数在每个问题旁边显示一个勾号、叉号或三个点.

如果该问题的分数 = '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 }  ?>  

尽管它是更大页面的一部分。

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

最佳答案

我相信第一个条件返回真,因为字符串等于 0。请参阅 comparison operators 上的文档.

解决方案是将您的==替换为===。例如:

<?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!';}

?>

关于php - 为什么这个简单的 PHP if 语句不起作用,我该如何更正它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8325646/

相关文章:

html - 为什么我的跨度顶部边框小于底部边框?

python - 给定奇数或偶数条件,如何对列表中的偶数或奇数求和?

提高矩阵的能力

php - 在 Windows 上用 PHP 计算文件行数

php - 如何获取以下查询的结果计数?

PHP 订单捕获门户

php - 如何修复PHP中的“ header 已发送”错误

javascript - 将数组存储在 html data 属性中

javascript - 来自 InAppBrowser 的返回变量

python - 将for循环和if语句的递归函数变成迭代函数