[PHP] [原创]php中&&和||逻辑运算符的高级简写(缩写条件)用法由浅入深讲解

2046 0
王子 2022-11-6 08:50:55 | 显示全部楼层 |阅读模式
目录

    一. &&和||常规用法二. &&运算符的高级简写(缩写条件)实例讲解三. ||运算符的高级简写(缩写条件)实例讲解四. 总结

php中if... elseif ... else进行多条件判断时,使用逻辑运算符&&和||(and和or),这样的写法很常见也很熟悉,学过的都能看懂。&&和||还有高级简写(缩写条件)用法有时也会遇到,比如单独一行中“条件A || 条件B”你知道这一步到底进行了什么操作吗?本文将由浅入深详细讲解php中 && 和 || 逻辑运算符的高级简写(缩写条件)用法。

一. &&和||常规用法

学过编程的朋友都知道条件判断吧,php中通常用if... elseif ... else和switch语句进行。在使用if中有多条件判断时,经常会用到逻辑运算符&&和||(and和or),&&表示必须所有条件都满足才能进行下一步,而||表示只需要满足其中一个就能进行下一步。实例如下:
  1. <?php
  2. $a=2;
  3. $b=3;
  4. if ($a==2 && $b==3) {
  5.     echo 1; //两个判断都为真的情况,输出数字1
  6.     echo "<br>";
  7. }
  8. if ($a==2 || $b==2) {
  9.     echo 2; //a判断为真,输出数字2
  10.     echo "<br>";
  11. }
  12. if ($a==3 || $b==3) {
  13.     echo 3; //b判断为真,输出数字3
  14. }
复制代码
运行结果:
1
2
3
代码讲解:先赋值两个变量$a和$b,($a==2 && $b==3)两个判断都为真的情况,输出数字1;($a==2 || $b==2)和($a==3 || $b==3)其中一个条件b判断为真,输出数字。这种用法简单明了,就不多说了。

二. &&运算符的高级简写(缩写条件)实例讲解
  1. <?php
  2. $andA="A";
  3. $andB="B";
  4. $andC="C";
  5. $andA=="A" && $andB="B1";
  6. echo $andB;
  7. echo "<br>";
  8. $andA=="B" && $andC="C1";
  9. echo $andC;
复制代码
运行结果:
B1
C
代码讲解:先赋值三个变量$andA、$andB和$andC,当$andA=="A"时判断为true,继续执行右边操作,给$andB新赋值"B1",所以输出结果为"B1";当$andA=="B"时判断为false,不执行右边操作,$andC还是原来的值"C",所以输出结果为"C"。
扩展:x && y && z 等等更多的条件判断呢?原理一样,必须是从左往右一个一个条件判断,条件为真,才继续向右执行。

三. ||运算符的高级简写(缩写条件)实例讲解
  1. <?php
  2. $andA="A";
  3. $andB="B";
  4. $andC="C";
  5. $andA=="A" || $andB="B1";
  6. echo $andB;
  7. echo "<br>";
  8. $andA=="B" || $andC="C1";
  9. 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。
这样是不是好理解多了。
到此这篇关于php中&&和||逻辑运算符的高级简写(缩写条件)用法由浅入深讲解的文章就介绍到这了,更多相关php中&&和|| (或者和并且)的用法内容请搜索中国红客联盟以前的文章或继续浏览下面的相关文章希望大家以后多多支持中国红客联盟!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行