在PHP中,我如何不执行即将发布的代码(例如,不显示在div中),如果有三个条件为真,另一方面,如果 和 只有在这3个条件中的任何一个都是假的时候才会出现?
例如,与我想要做的相反,为了 做 执行代码,如果三个条件确实为真,我做这样的事情:
<?php
$var1 = 'true';
$var2 = 'true';
$var3 = 'false';
?>
<?php if ( $var1 == 'true' and $var2 == 'true' and $var3 == 'true' ) : ?>
<?php echo 'All 3 are true, will execute code.'; ?>
<?php else : ?>
<?php echo 'Not all 3 are true, will not execute code.'; ?>
<?php endif; ?>
结果:并非所有三个都是真的,因此代码不会被执行。
希望我被理解, 提前谢谢。
答案 0 :(得分:1)
您可以使用DeMorgan定律来反转整个if
条款的真实性:
if( $var1 != true or $var2 != true or $var3 != true ){
//execute code
}
或者您可以使用!
运算符执行此操作,该运算符在逻辑上完全等效:
if( !( $var1 == true and $var2 == true and $var3 == true ) ){
//execute code
}
或者您可以反转您检查的值,这在逻辑上也是等效的:
if( $var1 == false or $var2 == false or $var3 == false ){
//execute code
}
所有这些都将以相同的方式工作。如果你仔细研究它们,你也可能会理解为什么它们都以同样的方式工作,这将有助于你将来设计这些条款!
答案 1 :(得分:1)
if (!($x=='x' && $y=='y' && $z=='z')){
// do if matches
}else {
//do otherwise
}
你刚刚放了一个!签名如if(!())
答案 2 :(得分:1)
最简单的方法可能是使用!
(非)运算符,如下所示:
<?php if (!( $var1 == 'true' and $var2 == 'true' and $var3 == 'true' )) ?>
<?php echo 'Not all 3 are true, will execute code.'; ?>
<?php else : ?>
<?php echo 'All 3 are true, will execute code.'; ?>
<?php endif; ?>
或者“打开”!
(非)运算符:
<?php if $var1 != 'true' or $var2 != 'true' or $var3 != 'true' ?>
<?php echo 'Not all 3 are true, will execute code.'; ?>
<?php else : ?>
<?php echo 'All 3 are true, will execute code.'; ?>
<?php endif; ?>
答案 3 :(得分:0)
有一个!=
运算符与==
运算符相反,如果两个不相等则返回false。还有一个!
运算符,它返回它正在修改的东西的相反布尔值,例如
!($var1 == 'true' or $var2 == 'true')
如果$var1
和$var2
都是'true'
,则返回false。
此外,您不需要为每个PHP行打开和关闭<?php ?>
标记。事实上,不要这样做,这使得读取代码非常烦人。只需执行<?php
,然后启动php,?>
即可。
答案 4 :(得分:0)
<?php
$var1 = true; // IF these are really BOOLEAN values
$var2 = true;
$var3 = false;
?>
<?php if ( $var1 && $var2 && $var3 ) : ?>
<?php echo 'All 3 are true, will execute code.'; ?>
<?php else : ?>
<?php echo 'Not all 3 are true, will not execute code.'; ?>
<?php endif; ?>
答案 5 :(得分:0)
试试这个:
<?php if($var1 == 'true' and $var2 == 'true' and $var3 == 'true'): ?>
<?php echo 'All 3 are true, will execute code.'; ?>
<?php elseif($var1 != 'true' and $var2 != 'true' and $var3 != 'true'): ?>
<?php echo 'Not all 3 are true, will not execute code.'; ?>
<?php endif; ?>