php 弱类型比较
1、按数字值比较
1.1数字(整数、浮点数、科学计数法、各种进制数)或纯十进制数字字符串。
<?php $a = 100; //整数 $b = "100"; //十进制数字符串 $c = 0b1100100; //二进制数 $d = 0144; // 八进制数 $e = 0x64; //十六进制数 $f = 1e2; //科学计数 var_dump($a==$b); //bool(true) var_dump($a==$c); //bool(true) var_dump($a==$d); //bool(true) var_dump($a==$e); //bool(true) var_dump($a==$f); //bool(true) var_dump($b==$c); //bool(true) var_dump($b==$d); //bool(true) var_dump($b==$e); //bool(true) var_dump($b==$f); //bool(true) var_dump($c==$d); //bool(true) var_dump($c==$e); //bool(true) var_dump($c==$f); //bool(true) var_dump($d==$e); //bool(true) var_dump($d==$f); //bool(true) ?>
1.2、数字 或 字符串(常规字符串、以数字开头的字符串)
<?php $a = -100; //数字 $b = "-100abc"; //以数字开头的字符串 $c = "abc" //常规字符串。 var_dump($a==$b); // bool(true) var_dump($a==$c); // bool(false) var_dump($b==$c); // bool(false) ?>
2、按字符串ASCII比较
常规字符串之间的比较,按字符的 ascii 码进行比较。
3、按布尔值比较
TRUE > FALSE
另:
非空即为真: FALSE == FALSE 0 == FALSE 0.0 == FALSE '' == FALSE '0' == FALSE array() == FALSE NULL == FALSE