PHP如果null echo其他echo

时间:2013-06-13 09:30:53

标签: php

不确定我在这里做错了什么,但出来的总是空的。只有在没有选择答案的情况下,脚本才会输出“你没有选择答案”,否则它应输出给出的答案:

我已按照提到更新了脚本,但即使给出了答案,仍然会得到空输出:/

感谢所有帮助到目前为止的人,但即使下面的代码也不起作用,如果没有anwser,它现在只输出为空白,但如果你填写它,它正确地回答了答案。

if (empty( $a1 )) {
echo"<li>\n<h2>1. " . $q1[0] . "</h2>\n"
    . "<p>You did not select an answer</p>\n"
    . "</li>\n";

}

else {

echo"<li>\n<h2>1. " . $q1[0] . "</h2>\n"
    . "<p><strong>" . $q1[$a1] . ":</strong></p>\n"
    . "<p>" . $r1[$a1] . "</p>\n"
    . "</li>\n";

}

完全忘了展示这部分!!

// get local copies of single answers
$a1 = trim(isset($_POST['a1'])?$_POST['a1']:99);
$a3 = trim(isset($_POST['a3'])?$_POST['a3']:99);
$a4 = trim(isset($_POST['a4'])?$_POST['a4']:99);
$a5 = trim(isset($_POST['a5'])?$_POST['a5']:99);

6 个答案:

答案 0 :(得分:4)

请勿使用if($a1 == null)使用if(empty($a1))if(isset($a1))

答案 1 :(得分:1)

空字符串不是null

    $a1 = '';
    if ($a1 == null)   // is wrong

应该是

$a1 = '';
if ($a1 === '')

if (empty($a1))

答案 2 :(得分:0)

空是与null尝试不一样

if ($a === '')这也尊重代码质量更好的类型

答案 3 :(得分:0)

if (empty( $a1 )) {
    echo"<li>\n<h2>1. " . $q1[0] . "</h2>\n"
    . "<p>You did not select an answer</p>\n"
    . "</li>\n";
}
else {
    echo"<li>\n<h2>1. " . $q1[0] . "</h2>\n"
    . "<p><strong>" . $q1[$a1] . ":</strong></p>\n"
    . "<p>" . $r1[$a1] . "</p>\n"
    . "</li>\n";
}

使用empty代替null检查

答案 4 :(得分:0)

'null'与false或''不同.'null'是一个对象。

答案 5 :(得分:0)

在PHP中,空字符串($ a)&amp;如果您测试以下快递,则空数组($ b)将返回true:

  

$ a =''; $ b = array();

     

$ a == null - &gt; TRUE $ b == null - &gt; TRUE

     

     

$ a == 0 - &gt; TRUE

所以你应该使用'==='进行测试,否则你的代码总会出现意想不到的结果。