如果$不是x或y

0 php comparison if-statement

无法得到|| 在这个比较操作中工作,我不能为我的生活理解为什么.

这很好用:

$validation = ($_POST["txtValidcode"]);
if($validation!=='ABC') { $strError .= 'Wrong';}
Run Code Online (Sandbox Code Playgroud)

但这根本不起作用(它将两个条目视为错误):

$validation = ($_POST["txtValidcode"]);
if($validation!=='ABC' || 'abc') { $strError .= 'Wrong';}
Run Code Online (Sandbox Code Playgroud)

我试过了:或者,!=,如果($ validation!=='ABC'|| $ validation!=='abc'),可能还有我能想到的其他选项.我在这做错了什么?

J. *_*Doe 5

在这种情况下,我建议使用strtolower()strtoupper()func,例如:

$validation = trim($_POST["txtValidcode"]);

if(strtolower($validation) != 'abc') {
   $strError .= 'Wrong';
}
Run Code Online (Sandbox Code Playgroud)

或者in_array():

$validation = trim($_POST["txtValidcode"]);

if(!in_array($validation, ['ABC', 'abc'])) {
   $strError .= 'Wrong';
}
Run Code Online (Sandbox Code Playgroud)