php如果(不是这个或不是这个){做一些事情}
我试了很多次,但都不起作用。 我想做像第一个小鸡,但第二个不工作。请帮帮我 此代码正在运行php如果(不是这个或不是这个){做一些事情},php,if-statement,Php,If Statement,我试了很多次,但都不起作用。 我想做像第一个小鸡,但第二个不工作。请帮帮我 此代码正在运行 <?php $a = 2; if ( $a == 2 || $a == 3 ) { echo "OK"; }else { echo "Error !!!!!!!"; } ?> 但这一条不起作用,它一直都是真的 <?php $a = 2; if ( $a !== 2 || $a !== 3 ) {
<?php
$a = 2;
if ( $a == 2 || $a == 3 ) {
echo "OK";
}else {
echo "Error !!!!!!!";
}
?>
但这一条不起作用,它一直都是真的
<?php
$a = 2;
if ( $a !== 2 || $a !== 3 ) {
echo "Error";
}
?>
请帮我把它分解一下:
if ( $a !== 2 || $a !== 3 ) {
echo "Error";
}
注意两件事:
- 如果
,则$a==2
$a==3
- 如果
,则$a==3
$a==2
if
语句将始终执行,因为|
是OR语句
如果要在
$a
不是2或3时执行,则应编写:
if ( $a !== 2 && $a !== 3 ) {
或:
这样,代码将仅在$a
既不是2
也不是3
时执行
维基百科关于(谢谢@Marc)的文章对此进行了探讨,其中指出: 这些规则允许通过否定来表达连接和析取 这些规则可以用英语表示为: 连接的否定是否定的析取。
析取的否定是否定的连词 或非正式地说: “非(A和B)”与“(非A)或(非B)”相同
而且,
“非(A或B)”与“(非A)和(非B)”相同
当要求不等于以下内容时,您需要稍微不同的逻辑:
if(!(a==2 || a==3)){}
您最初所说的将转化为“如果a不是2或不是3,那么…”,而您想要的是“如果a不是2或3,那么…”Try!=而不是==第二个总是正确的,因为其中一个语句总是正确的,因为$a不能是2和3。@ChrisG这不会有什么区别。只有当语句为。Demo PleaseThanks@Marc,添加到我的答案中。
if(!(a==2 || a==3)){}