当变量的值为“”,null,false等时用若比较运算符中的松散比较==、严格比较===,结果会不一样。
使用 PHP 函数对变量 $x 进行比较
表达式gettype()empty()is_null()isset()boolean : if($x)$x = "";stringTRUEFALSETRUEFALSE$x = null;NULLTRUETRUEFALSEFALSEvar $x;NULLTRUETRUEFALSEFALSE$x is undefinedNULLTRUETRUEFALSEFALSE$x = array();arrayTRUEFALSETRUEFALSE$x = false;booleanTRUEFALSETRUEFALSE$x = true;booleanFALSEFALSETRUETRUE$x = 1;integerFALSEFALSETRUETRUE$x = 42;integerFALSEFALSETRUETRUE$x = 0;integerTRUEFALSETRUEFALSE$x = -1;integerFALSEFALSETRUETRUE$x = "1";stringFALSEFALSETRUETRUE$x = "0";stringTRUEFALSETRUEFALSE$x = "-1";stringFALSEFALSETRUETRUE$x = "php";stringFALSEFALSETRUETRUE$x = "true";stringFALSEFALSETRUETRUE$x = "false";stringFALSEFALSETRUETRUE松散比较 == TRUEFALSE10-1"1""0""-1"NULLarray()"php"""TRUETRUEFALSETRUEFALSETRUETRUEFALSETRUEFALSEFALSETRUEFALSEFALSEFALSETRUEFALSETRUEFALSEFALSETRUEFALSETRUETRUEFALSETRUE1TRUEFALSETRUEFALSEFALSETRUEFALSEFALSEFALSEFALSEFALSEFALSE0FALSETRUEFALSETRUEFALSEFALSETRUEFALSETRUEFALSETRUETRUE-1TRUEFALSEFALSEFALSETRUEFALSEFALSETRUEFALSEFALSEFALSEFALSE"1"TRUEFALSETRUEFALSEFALSETRUEFALSEFALSEFALSEFALSEFALSEFALSE"0"FALSETRUEFALSETRUEFALSEFALSETRUEFALSEFALSEFALSEFALSEFALSE"-1"TRUEFALSEFALSEFALSETRUEFALSEFALSETRUEFALSEFALSEFALSEFALSENULLFALSETRUEFALSETRUEFALSEFALSEFALSEFALSETRUETRUEFALSETRUEarray()FALSETRUEFALSEFALSEFALSEFALSEFALSEFALSETRUETRUEFALSEFALSE"php"TRUEFALSEFALSETRUEFALSEFALSEFALSEFALSEFALSEFALSETRUEFALSE""FALSETRUEFALSETRUEFALSEFALSEFALSEFALSETRUEFALSEFALSETRUE
严格比较 === TRUEFALSE10-1"1""0""-1"NULLarray()"php"""TRUETRUEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSETRUEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSE1FALSEFALSETRUEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSE0FALSEFALSEFALSETRUEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSE-1FALSEFALSEFALSEFALSETRUEFALSEFALSEFALSEFALSEFALSEFALSEFALSE"1"FALSEFALSEFALSEFALSEFALSETRUEFALSEFALSEFALSEFALSEFALSEFALSE"0"FALSEFALSEFALSEFALSEFALSEFALSETRUEFALSEFALSEFALSEFALSEFALSE"-1"FALSEFALSEFALSEFALSEFALSEFALSEFALSETRUEFALSEFALSEFALSEFALSENULLFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSETRUEFALSEFALSEFALSEarray()FALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSETRUEFALSEFALSE"php"FALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSETRUEFALSE""FALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSETRUE
参考资料:
php官方文档: php类型比较