如果$不是x或y

时间:2019-02-22 09:44:51

标签: php if-statement comparison

无法获得||从事这种比较操作,我一生都无法理解为什么。

这很好:

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

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

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

我尝试过:或!=,if($ validation!=='ABC'|| $ validation!=='abc'),可能还有其他我想到的选择。我在这里做什么错了?

2 个答案:

答案 0 :(得分:5)

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

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

if(strtolower($validation) != 'abc') {
   $strError .= 'Wrong';
}

in_array()

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

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

答案 1 :(得分:0)

您可以尝试通过修饰并将字符串设置为小写

$strError = '';
$validation = isset($_POST["txtValidcode"]) ? trim(strtolower($_POST["txtValidcode"])) : null;
if($validation !== 'abc') { 
    $strError .= 'Wrong';
}