比较运算| 学习笔记

简介: 快速学习比较运算。

开发者学堂课程【PHP 基础入门课程(上) :比较运算】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/709/detail/12603


比较运算

 

内容介绍:

一、了解比较运算的意义和工作原理

二、掌握常用比较运算符的使用

 

我们先思考这样一个问题,两个数,想知道谁大谁小,比如说两个人的年龄,那么此时我们就必须要进行一个比较,所以我们这里面程序里面就提供了较多的比较运算符,来帮助我们实现比较运算。


提问:如何知道两个数据的大小呢?

回答:比较运算。

 

一、了解比较运算的意义和工作原理

1、概念

比较运算:比较两个数据的大小或者长度,然后得出比较结果

  • 用于两个表达式的比较,比较的结果通常是 true 或者 false
  • >︰左边大于右边返回 true ,否则返回 false
  • <:左边小于右边返回 true ,否则返回 false
  • >=:左边大于或者等于右边返回 true ,否则返回 false
  • <=:左边小于或者等于右边返回 true,否则返回 false
  • <=>:左边大于右边返回1,等于右边返回0,小于右边返回-1\\

我们用这种的话,可以一次性代替前面的多种更加精确,但是,他可能对于我们的值,我们需要额外的去进行一些判定

  • ==:左边等于右边返回 true ,否则返回 false \\等于这个地方要

特别注意的一点是比较两个相同,因为一个等于是负值。

你左右两边放两个变量,如果用一个等号是把右边的赋值给左边,用了两个系统才会知道,这是一种判定。所以这块儿我们要特别注意,写比较的时候一定要写两个。

  • !=:左边不等于右边返回 true ,相等返回 false
  • ===:左边等于右边,且两边数据类型一致返回 true ,否则返回

false \\这个地方比较特殊,是全等,表示左边要等于右边,而且两边数据的类型要相同。

如果值相同,类型相同,返回 ture ,如果只有值相同,类型不相同,返回 false ,他跟等号的区别在于他要考虑类型,那不全等于也是一样的。

  • !==:左边不全等于右边返回 true,否则返回 false

 

二、掌握常用比较运算符的使用

1、示例

1  <?php

2

3 #比较运算

4

5  $a = 10;

6  $b= 5;

7  $c = '10';

8

9

10 #系统会自动转换成同一类型进行比较

11  echo '<pre> ';

12  var_dump($a > $b);    #true

13  var dump($a ==$b);    #false

14  var _dump($a==$c);    #true(值相同)

15  var_dump($a-= $c);    #false(类型不同)

那 18compare.php 发现 true  false true  false,跟我们前面运算的结果一样,说明我们的理解逻辑是没有问题的。

接下来,再看看所谓的飞船运算

16

17 var_dump($a <=> $b);    \\结果是 int{1}

18 var_dump($b <=> $a);    \\结果是 int{-1}

19 var_dump($a <=>$c);    \\结果是 int{0}

如果我们需要用到飞船运算的时候,我们是要根据这个结果,不能用简单的 ture 或 false 来判定他,用这种方式的话你会发现,不管是a大于b还是a小于b,它返回的是1和-1,而1和-1转化成布尔值他都是 ture ,所以此时不能直接这样判定。那么我们就需要用全等来进行一个比较。

20

21

22 var_dump(($a <=>$b) === 1);    \\结果是 bool{ture}

23 var_dump(($a <=>$b) >0);    \\结果是 bool{ture}

示例:

#定义数据

$a = 10;    #数字10

$b = 5 ;

$c = '10';  #字符串10

#基本比较运算

$res = $a > $b;

var_dump($res) ;   #布尔 true: 10 > 5,成立

#全等运算

$res = ($a == $c);

var_dump($res);   #布尔 true: 10 与'10'系统自动会转换成相同的格式比较,都是10,所以相等

$res = ($a === $c);

var_dump($res);    #布尔 false: 10与10值相同,但是10是数字,'10'是字符串,类型不同

#飞船运算

var_dump($a <=>$c);    #0:相等,10与10值相同,类型不同不影响

注意:

在 PHP 中比较运算比较特殊,通常系统会自动将类型转换成相同的然后进行比较,所以大家在使用==和===比较的时候,如果自己不够明确可以参照 PHP 操作手册中的类型比较表:PHP 操作手册->附录->PHP 类型比较表。

用==进行松散比较

image.png

用===进行严格比较

image.png

2、小结

1、比较运算就是比较两个数据的区别

2、飞船运算包含了大于、等于和小于三种运算

3、比较运算的结果普遍是 true 和 false,飞船运算符的结果除外

4、比较运算通常在实际开发中用于判定数据的有效性

  • 数值有大小可比较
  • 字符串:比较对应的 ASCIl 值

a. 大小写比较 ASCIl 值

b. 如果是相同字符串,谁第一个不同的大谁嬴

5、PHP 在进行比较时,会自动将不同类型转换成同一类型进行比较,所以这块需要特别注意

  • 松散比较==:只比较值即可
  • 严格比较===︰值和类型都比较
相关文章
|
存储 数据处理
计算机数据的表示及运算
计算机数据的表示和运算是计算机系统中非常重要的概念。计算机使用二进制来表示和处理数据,其中包括整数、浮点数和字符等不同类型的数据。下面将详细介绍计算机数据的表示和运算。 1. 二进制表示:计算机使用二进制系统来表示数据。二进制系统由0和1两个数字组成,每一位称为一个比特(bit)。比特是计算机中最小的存储单位,可以表示一个二进制数值(0或1)。 2. 整数表示:计算机使用补码表示整数。补码是一种用于表示负数的方法,它将负数的最高位设为1,正数的最高位设为0。补码表示可以保证负数的运算结果仍然是有效的。 3. 浮点数表示:计算机使用浮点数表示实数。浮点数由两个部分组成:尾数和指数。尾数表示
177 0
|
6月前
|
机器学习/深度学习 存储 算法
位运算是一种什么运算方式
位运算是一种什么运算方式
46 1
|
存储 算法 数据处理
数据的表示及运算
一、数据的表示及运算 数据的表示和运算是计算机系统中非常重要的概念,它们决定了计算机如何处理和操作数据。 1. 数据的表示:计算机使用二进制(0和1)来表示和存储数据。二进制是一种只有两个状态的编码方式,可以通过开关电路的开和关来表示0和1。计算机将二进制编码与不同的数据类型关联,例如整数、浮点数、字符等。 2. 整数运算:计算机可以对整数进行基本的算术运算,包括加法、减法、乘法和除法。这些运算是通过电子电路中的逻辑门实现的,逻辑门可以对二进制数进行逻辑运算和移位操作。 3. 浮点数运算:计算机可以进行浮点数的运算,浮点数是一种用于表示带有小数部分的数值的数据类型。浮点数运算涉及到浮点数的表示
79 0
|
人工智能 测试技术
MoonLight的运算问题
MoonLight的运算问题
97 0
|
数据库
关系代数运算——除法运算
关系代数运算——除法运算
268 0
关系代数运算——除法运算
|
开发者
自操作运算| 学习笔记
快速学习自操作运算。
|
开发者 索引 Python
数值运算|学习笔记
快速学习数值运算
|
开发者
算术运算| 学习笔记
快速学习算术运算。
|
NoSQL MongoDB 数据库
范围运算|学习笔记
快速学习范围运算
|
NoSQL MongoDB 数据库
数组运算|学习笔记
快速学习数组运算