如果$不是x或y

问题描述 投票:0回答:2

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

这很好用:

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

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

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

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

php if-statement comparison
2个回答
5
投票

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

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

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

或者in_array()

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

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

0
投票

您可以尝试修剪并将字符串设置为小写。

$strError = '';
$validation = isset($_POST["txtValidcode"]) ? trim(strtolower($_POST["txtValidcode"])) : null;
if($validation !== 'abc') { 
    $strError .= 'Wrong';
}
© www.soinside.com 2019 - 2024. All rights reserved.