欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

以php中的比较运算符操作整型,浮点型,字符串型,布尔型和空类型

程序员文章站 2022-05-22 22:44:55
字符,数字,特殊符号的比较依赖ASC II表,本表原先有127个,后来又扩充了一些,里面包含了奇奇奇怪的符号。 ASC II表 https://baike.baidu.com/item/ASCII/309296?fr=aladdin#3 英文对照:http://www.asciitable.com/ ......
字符,数字,特殊符号的比较依赖asc ii表,本表原先有127个,后来又扩充了一些,里面包含了奇奇奇怪的符号。
asc ii表 https://baike.baidu.com/item/ascii/309296?fr=aladdin#3
英文对照:http://www.asciitable.com/
 
1.整型和整型进行比较,与数学规则相同
1 $a = 1;
2 $b = 2;
3 var_dump( $a, $b );
4 var_dump( $a == $b );
5 var_dump( $a != $b );
6 var_dump( $a === $b );
7 var_dump( $a !== $b );
8 var_dump( $a > $b );

 

2.浮点型和浮点型进行比较,与数学规则相同
1 $a = 1.0;
2 $b = 2.0;
3 var_dump( $a, $b );
4 var_dump( $a == $b );
5 var_dump( $a != $b );
6 var_dump( $a === $b );
7 var_dump( $a !== $b );
8 var_dump( $a > $b );

 

3.字符串型和字符串型比较,
第一种情况,只包含字符序列,参照asc ii表中字符对应数值大小,如果是多位,第一位比第二位权重高,第二位比第三位权重高,...先比较第一位,第一位相同,比较第二位,第二位相同比较第三位...
第二种情况,只包含数字,转换为数字,参照数学规则。
第三种情况,数字和字符序列掺杂,和算数运算符不同,比价运算符不进行自动类型转换;比较参照asc ii表,同第一种情况。
 1 $a = 'aa';
 2 $b = 'v';
 3 var_dump( $a, $b );
 4 var_dump( $a == $b );
 5 var_dump( $a != $b );
 6 var_dump( $a === $b );
 7 var_dump( $a !== $b );
 8 var_dump( $a < $b );
 9 
10 $a = '11';
11 $b = '2';
12 var_dump( $a, $b );
13 var_dump( $a == $b );
14 var_dump( $a != $b );
15 var_dump( $a === $b );
16 var_dump( $a !== $b );
17 var_dump( $a < $b );
18 
19 $a = '11a';
20 $b = '2c';
21 var_dump( $a, $b );
22 var_dump( $a == $b );
23 var_dump( $a != $b );
24 var_dump( $a === $b );
25 var_dump( $a !== $b );
26 var_dump( $a < $b );
27 var_dump( $a + $b );

 

4.布尔型和布尔型比较,布尔型true和布尔型false类型相等,但布尔型true的值大于布尔型false
1 $a = true;
2 $b = false;
3 var_dump( $a, $b );
4 var_dump( $a == $b );
5 var_dump( $a != $b );
6 var_dump( $a === $b );
7 var_dump( $a !== $b );
8 var_dump( $a > $b );

 

5.空类型null和空类型null比较,二者的类型和值都相等
1 $a = null;
2 $b = null;
3 var_dump( $a, $b );
4 var_dump( $a == $b );
5 var_dump( $a != $b );
6 var_dump( $a === $b );
7 var_dump( $a !== $b );
8 var_dump( $a > $b );

 

6.整型和浮点型比较,除类型外,参照数学规则
1 $a = 1;
2 $b = 1.0;
3 var_dump( $a, $b );
4 var_dump( $a == $b );
5 var_dump( $a != $b );
6 var_dump( $a === $b );
7 var_dump( $a !== $b );
8 var_dump( $a > $b );

 

7.整型和字符串型整数比较,参照数学规则
1 $a = 2;
2 $b = '1';
3 var_dump( $a, $b );
4 var_dump( $a == $b );
5 var_dump( $a != $b );
6 var_dump( $a === $b );
7 var_dump( $a !== $b );
8 var_dump( $a > $b );

 

8.整型和字符串型浮点数比较,参照数学规则
1 $a = 2;
2 $b = '1.0';
3 var_dump( $a, $b );
4 var_dump( $a == $b );
5 var_dump( $a != $b );
6 var_dump( $a === $b );
7 var_dump( $a !== $b );
8 var_dump( $a > $b );

 

9.整型和字符串型字母序列(不能转换为数字的)比较,会将字符序列转换为数字0
1 $a = 0;
2 $b = 'ab';
3 var_dump( $a, $b );
4 var_dump( $a == $b );
5 var_dump( $a != $b );
6 var_dump( $a === $b );
7 var_dump( $a !== $b );
8 var_dump( $a > $b );

 

10.整型和布尔型比较,布尔型true会被视为整数1,布尔型false会被视为整数0
1 $a = 1;
2 $b = true;
3 $c = false;
4 var_dump( $a, $b, $c );
5 var_dump( $a == $b );
6 var_dump( $a != $b );
7 var_dump( $a === $b );
8 var_dump( $a !== $b );
9 var_dump( $a > $c );

 

11.整型和空类型null比较,空类型null值会被认为是整数0
1 $a = 0;
2 $b = null;
3 var_dump( $a, $b);
4 var_dump( $a == $b );
5 var_dump( $a != $b );
6 var_dump( $a === $b );
7 var_dump( $a !== $b );
8 var_dump( $a > $b );