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

寻技术 PHP编程 2023年07月11日 85

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

一. &&和||常规用法

学过编程的朋友都知道条件判断吧,php中通常用if... elseif ... else和switch语句进行。在使用if中有多条件判断时,经常会用到逻辑运算符&&和||(and和or),&&表示必须所有条件都满足才能进行下一步,而||表示只需要满足其中一个就能进行下一步。实例如下:

<?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判断为真,输出数字。这种用法简单明了,就不多说了。

二. &&运算符的高级简写(缩写条件)实例讲解

<?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 等等更多的条件判断呢?原理一样,必须是从左往右一个一个条件判断,条件为真,才继续向右执行。

三. ||运算符的高级简写(缩写条件)实例讲解

<?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。

这样是不是好理解多了。

原文地址:
关闭

用微信“扫一扫”