Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 非真实陈述的多重答案_Php - Fatal编程技术网

Php 非真实陈述的多重答案

Php 非真实陈述的多重答案,php,Php,我以前从未使用过php,但现在我需要在我的网站上提供一个联系表单。我正在学习一个教程,他们在教程中写了一个验证码: else if ($_POST['submit'] && $human != 'sky') { echo '<p>You answered incorrectly</p>'; } else if($\u POST['submit']&&$human!='sky')){ 回音“您的回答不正确”; } 我的问题很简单: 定义验

我以前从未使用过php,但现在我需要在我的网站上提供一个联系表单。我正在学习一个教程,他们在教程中写了一个验证码:

else if ($_POST['submit'] && $human != 'sky') {
    echo '<p>You answered incorrectly</p>';
    }
else if($\u POST['submit']&&$human!='sky')){
回音“您的回答不正确”

; }
我的问题很简单: 定义验证码多个答案的正确语法是什么? 因此,除了“天空”,用户还可以回答“天空”或“天空”或“天堂”,例如,仍然可以正确获取验证码?

$answers=array('sky','skies','which');
$answers = array('sky','skies','whatever');

if ...
else if ($_POST['submit'] && !in_array($human,$answers)) {
    echo '<p>You answered incorrectly</p>';
}
如果。。。 else if($_POST['submit']&&!in_数组($human,$answers)){ 回音“您的回答不正确”

; }
手册页:

$answers=array('sky','skies','whatever');
如果。。。
else if($_POST['submit']&&!in_数组($human,$answers)){
回音“您的回答不正确”

; }

手动页面:

我也从未使用过php,但编程语言使用and和or等条件运算符。在上面的示例中,这已经检查了2个条件,以&&&分隔。简单地添加更多&到链式表达式。我也从未使用过php,但编程语言使用条件运算符,如and和or。在上面的示例中,这已经检查了2个条件,以&&&分隔。简单地添加更多&&到链式表达式。不要吹毛求疵,但最好使用strtolower($human)来区分大小写。谢谢!但有没有更简单的方法(不需要数组的方法)?您想要:!='“天空”和“天堂”不起作用?那不起作用。你需要一个数组。你有什么真正的理由不想使用数组吗?@Sonypackman-这是可行的,但要使用数组来维护它要困难得多。您需要将if格式化为
if($\u POST['submit']&&($human='sky'.\124;$human='sky'.
但是将答案存储在数组中要容易得多。我寻找更简单答案的唯一真正原因是因为我无法完全理解数组示例中的代码。主要是:为什么在($human,$answers)中包含$human?为什么不把“$answers”放在括号内?不要吹毛求疵,但是使用strtolower($human)来区分大小写可能是个好主意。谢谢!但是没有更简单的方法可以做到这一点(不需要数组的方法)?类似于:!=“天空”和“天堂”不起作用?那不起作用。你需要一个数组。你有什么真正的理由不想使用数组吗?@Sonypackman-这会起作用,但使用数组维护它要困难得多。你需要将if格式化为
if($\u POST['submit']&&($human=='sky'| |$human=='heaven'..
但是将答案存储在数组中要容易得多。我寻找更简单答案的唯一真正原因是因为我无法完全理解数组示例中的代码。主要是:为什么在($human,$answers)中包含$human?为什么不在括号中只包含“$answers”?