开发者学堂课程【PHP 基础入门课程(上) :逻辑运算】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/709/detail/12607
逻辑运算
内容介绍:
一、了解逻辑运算的概念
二、掌握逻辑运算符的原理及应用
一、了解逻辑运算的概念
1、概念
逻辑运算:是针普通运算的结果的二次运算
- 逻辑运算一般需要1个或者2个表达式参与
- &&旷逻辑与运算(也作 and),左右两边结果都为 true 返回 true,否则返回 false
- ||:逻辑或运算(也作 or),左右两边结果至少有一个 true 返回 true,否则返回 false
- !:逻辑非运算,原来结果为 true 返回 false,原来结果为 false 返回 true
- 逻辑运算(逻辑与和逻辑或)也称之为短路运算:即左边表达式如果已经能够确定结果,那么右边表达式就不再判定
a. 逻辑或:如果左边第一个表达式已经为真,第二个表达式就不会运算(结果为真)
b. 逻辑与:如果左边第一个表达式已经为假,第二个表达式就不会运算(结果为假)
- 运算原理:将所有表达式的结果转换成布尔结果之后再进行运算
二、掌握逻辑运算符的原理及应用
1、示例
#简单示例
$a = true;
$b = false;
#逻辑运算
var_dump($a ll $b);
#true,因为 $a 为 true,所以整个结果为 true
var_dump($a && $b);
#false,因为 $b 为 false,所以整个结果为 false
var_dump( ! $a);
#false,因为 $a 为 true,取反得到 false
#通常参与逻辑运算的同时会有其他运算参与
$age = $_POST[ 'age ' ];
$res = $age < 18 ll $age > 65;
#先执行左侧的 $age < 18比较运算
#后执行右侧的 $age > 65比较运算
#两个比较结果进行|逻辑运算
#短路验证
$a = 100;
$a == 100 ll $b = 10;
#案例:实际开发不要出现运算中赋值
/*
1、比较左边: $a == 100,结果为 true
2、发现是逻辑或运算:结果已经出来: true
3、忽略 $b = 10 运算
* /
var_dump($b);
#未定义的变量
案例
1 <?Php
2
3
4#逻辑运算
5
6 $age = 21;
7
8
9#判定年龄
10$res = $age < 18 |$age > 65;
11 var_dump($res, ! $res);\\结果为bool{ture}
12
13
14 #短路验证
15 $age > 65 l$b = 10;
16 / / var_dump($b);
17
18
19 #前面的操作如果不成功那么代码没有必要继续执行
20
21 $a = false or die('错误');\\结果为错误
22
23 echo $a;
小结
1、逻辑运算符有三种:&&逻辑与、l|逻辑或、!逻辑非
- &&:两个表达式都为真结果才为真,其他为假
- ||∶两个表达式都为假结果才为假,其他为真
- ! :一个表达式,对本身布尔结果取反
2、逻辑运算是对布尔结果进行比较
- 本身就是布尔结果:直接运算
- 本身非布尔结果:自动转换成布尔结果后再运算
3、逻辑运算通常与其他运算结合在一起运算
4、逻辑与和逻辑或也称之为短路运算
- 逻辑与:第一个为假,第二个不运算(短路)
- 逻辑或:第一个为真,第二个不运算(短路)
- 在实际开发中,应该将大概率能判定整个结果的运算放前面
5、逻辑运算在实际开发的时候运用比较多,尤其是逻辑复杂的程序