这是用于文本字段密码输入。 这是我的代码:
$vaar
是输入该字段的内容。
if(($vaar !='pass01' or 'pass02') && (!empty($vaar))) {
我无法弄清楚正确的语法。我试过了||
,or
,xor
。
我还尝试将'pass01'
和'pass02'
放在他们自己的( )
中。
我想要它做的是:
如果$vaar
不是'pass01'
或'pass02'
且$vaar
不为空,请执行以下操作:
只是语法错误,但我无法弄清楚!
答案 0 :(得分:4)
您正在寻找:
if( !empty($vaar) && ($vaar != 'pass01' && $vaar != 'pass02')) {
请注意,我先将empty()
检查,这会使评估短路,$vaar
实际上是空的。
编辑:为了更好地反映OP的措辞(和逻辑),由于Demorgan's law.),这与以下内容相同:
if( !empty($vaar) && !($vaar == 'pass01' || $vaar == 'pass02')) {
读取:如果$vaar
不为空并且$vaar
不是pass01
或pass02
答案 1 :(得分:1)
if(($vaar !== 'pass01' and $vaar !== 'pass02') and (!empty($vaar))) {
// ...
}
可替换地:
if(($vaar !== 'pass01' && $vaar !== 'pass02') && (!empty($vaar))) {
// ...
}
你的意思是:
如果$vaar
不等于“pass01”并且$vaar
不等于“pass02”并且$vaar
不为空,那么......
请注意,我已将原始括号保留在那里,但由于它们都是AND,您可以删除它们,如下所示:
if(!empty($vaar) && $vaar !== 'pass01' && $vaar !== 'pass02') {
// ...
}
在这里,我还将empty
语言构造移动到条件的开头,就好像变量为空,然后条件将立即评估false,从而防止E_NOTICE
错误Undefined variable $vaar
1}}如果变量未定义。