php中if… elseif … else进行多条件判断时,使用逻辑运算符&&和||(and和or),这样的写法很常见也很熟悉,学过的都能看懂。&&和||还有高级简写(缩写条件)用法有时也会遇到,比如单独一行中“条件A || 条件B”你知道这一步到底进行了什么操作吗?本文将由浅入深详细讲解php中 && 和 || 逻辑运算符的高级简写(缩写条件)用法。
一. &&和||常规用法
学过编程的朋友都知道条件判断吧,php中通常用if… elseif … else和switch语句进行。在使用if中有多条件判断时,经常会用到逻辑运算符&&和||(and和or),&&表示必须所有条件都满足才能进行下一步,而||表示只需要满足其中一个就能进行下一步。实例如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<?php $a =2; $b =3; if ( $a ==2 && $b ==3) { echo 1; //两个判断都为真的情况,输出数字1 echo "<br>" ; } if ( $a ==2 || $b ==2) { echo 2; //a判断为真,输出数字2 echo "<br>" ; } if ( $a ==3 || $b ==3) { echo 3; //b判断为真,输出数字3 } |
运行结果:
1
2
3
代码讲解:先赋值两个变量$a和$b,($a==2 && $b==3)两个判断都为真的情况,输出数字1;($a==2 || $b==2)和($a==3 || $b==3)其中一个条件b判断为真,输出数字。这种用法简单明了,就不多说了。
二. &&运算符的高级简写(缩写条件)实例讲解
1
2
3
4
5
6
7
8
9
10
11
|
<?php $andA = "A" ; $andB = "B" ; $andC = "C" ; $andA == "A" && $andB = "B1" ; echo $andB ; echo "<br>" ; $andA == "B" && $andC = "C1" ; echo $andC ; |
运行结果:
B1
C
代码讲解:先赋值三个变量$andA、$andB和$andC,当$andA==”A”时判断为true,继续执行右边操作,给$andB新赋值”B1″,所以输出结果为”B1″;当$andA==”B”时判断为false,不执行右边操作,$andC还是原来的值”C”,所以输出结果为”C”。
扩展:x && y && z 等等更多的条件判断呢?原理一样,必须是从左往右一个一个条件判断,条件为真,才继续向右执行。
三. ||运算符的高级简写(缩写条件)实例讲解
1
2
3
4
5
6
7
8
9
10
11
|
<?php $andA = "A" ; $andB = "B" ; $andC = "C" ; $andA == "A" || $andB = "B1" ; echo $andB ; echo "<br>" ; $andA == "B" || $andC = "C1" ; echo $andC ; |
运行结果:
B
C1
代码讲解:先赋值三个变量$andA、$andB和$andC,当$andA==”A”时判断为true,不执行右边操作,$andB还是原来的值”B”,所以输出结果为”B”;当$andA==”B”时判断为false,继续执行右边操作,给$andC新赋值”C1″,所以输出结果为”C1″。
扩展:x || y || z 等等更多的条件判断呢?原理一样,必须是从左往右一个一个条件判断,条件都为假,继续向右执行,直到有条件判断为真结束右边操作。
四. 总结
对于“与”(&&) 运算: x && y 当x为false时,直接跳过,不执行y;对于“或”(||) 运算: x || y 当x为true时,直接跳过,不执行y。
实例二和三是php中 && 和 || 逻辑运算符的高级简写(缩写条件),那么真正的条件是什么的呢?
a && b === if(a) { b },如果a为真,执行b。a || b === if(!a) { b },如果a不为真,执行b。
这样是不是好理解多了。
原文链接:https://www.jb51.net/article/266661.htm
暂无评论内容