不确定我在这里做错了什么,但出来的总是空的。只有在没有选择答案的情况下,脚本才会输出“你没有选择答案”,否则它应输出给出的答案:
我已按照提到更新了脚本,但即使给出了答案,仍然会得到空输出:/
感谢所有帮助到目前为止的人,但即使下面的代码也不起作用,如果没有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);
答案 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
所以你应该使用'==='进行测试,否则你的代码总会出现意想不到的结果。