2

不知道我在这里做错了什么,但结果总是空的。仅当未选择任何答案时,脚本才应输出“您未选择答案”,否则应输出给出的答案:

如前所述,我已经更新了脚本,但即使给出答案,仍然得到空输出:/

感谢到目前为止的所有帮助,但即使下面的代码也不起作用,如果没有 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);
4

6 回答 6

6

不要使用if($a1 == null)使用if(empty($a1))if(isset($a1))

于 2013-06-13T09:33:11.003 回答
1

空字符串不是null

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

应该

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

或者

if (empty($a1))
于 2013-06-13T09:32:06.563 回答
0

空不等于空尝试

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

于 2013-06-13T09:33:00.380 回答
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检查

于 2013-06-13T09:33:21.750 回答
0

'null' 不等于 false 或 ''.'null' 是一个对象。

于 2013-06-13T09:38:48.383 回答
0

在 PHP 中,如果您测试以下 express,空字符串 ($a) 和空数组 ($b) 将返回 true:

$a = ''; $b = 数组();

$a == null -> TRUE $b == null -> TRUE

还,

$a == 0 -> 真

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

于 2013-06-13T09:45:44.080 回答