字符,数字,特殊符号的比较依赖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 );