之所以决定写这片笔记,是因为始终对 空 这个概念很含糊,在代码逻辑中常会遇到须要判断的时候,总是模仿两可。
常见的“空”有以下这些:
- 整形 0:0
- 字符 1:1
- 字符空:””
- 字符零:”0″
- 空数组:[]
- true
- false
- null
NUll 下面的那些都好了解,都是常见的,重点介绍一下 NULL。
NULL 是什么?
Null 是在计算机具备保留的值,能够用于指针不去援用对象,当初很多程序都会应用指针来示意条件,然而在不同的语言中,含意是不一样的。
这里咱们只介绍 PHP 中的 NULL。
在 PHP 中,示意一个变量没有赋值、或者是被赋值的值为 NULL,以及被 unset 的。
应用 PHP 函数对变量进行比拟:
表达式 | gettype() | empty() | is_null() | isset() | boolean : if($x) |
---|---|---|---|---|---|
$x = ""; |
string | TRUE |
FALSE |
TRUE |
FALSE |
$x = null; |
NULL | TRUE |
TRUE |
FALSE |
FALSE |
var $x; |
NULL | TRUE |
TRUE |
FALSE |
FALSE |
$x is undefined | NULL | TRUE |
TRUE |
FALSE |
FALSE |
$x = array(); |
array | TRUE |
FALSE |
TRUE |
FALSE |
$x = false; |
boolean | TRUE |
FALSE |
TRUE |
FALSE |
$x = true; |
boolean | FALSE |
FALSE |
TRUE |
TRUE |
$x = 1; |
integer | FALSE |
FALSE |
TRUE |
TRUE |
$x = 42; |
integer | FALSE |
FALSE |
TRUE |
TRUE |
$x = 0; |
integer | TRUE |
FALSE |
TRUE |
FALSE |
$x = -1; |
integer | FALSE |
FALSE |
TRUE |
TRUE |
$x = "1"; |
string | FALSE |
FALSE |
TRUE |
TRUE |
$x = "0"; |
string | TRUE |
FALSE |
TRUE |
FALSE |
$x = "-1"; |
string | FALSE |
FALSE |
TRUE |
TRUE |
$x = "php"; |
string | FALSE |
FALSE |
TRUE |
TRUE |
$x = "true"; |
string | FALSE |
FALSE |
TRUE |
TRUE |
$x = "false"; |
string | FALSE |
FALSE |
TRUE |
TRUE |
涣散判断 ==
TRUE |
FALSE |
1 |
0 |
-1 |
"1" |
"0" |
"-1" |
NULL |
array() |
"php" |
"" |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
TRUE |
TRUE |
FALSE |
TRUE |
FALSE |
TRUE |
TRUE |
FALSE |
TRUE |
FALSE |
FALSE |
TRUE |
FALSE |
FALSE |
FALSE |
TRUE |
FALSE |
TRUE |
FALSE |
FALSE |
TRUE |
FALSE |
TRUE |
TRUE |
FALSE |
TRUE |
1 |
TRUE |
FALSE |
TRUE |
FALSE |
FALSE |
TRUE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
0 |
FALSE |
TRUE |
FALSE |
TRUE |
FALSE |
FALSE |
TRUE |
FALSE |
TRUE |
FALSE |
TRUE |
TRUE |
-1 |
TRUE |
FALSE |
FALSE |
FALSE |
TRUE |
FALSE |
FALSE |
TRUE |
FALSE |
FALSE |
FALSE |
FALSE |
"1" |
TRUE |
FALSE |
TRUE |
FALSE |
FALSE |
TRUE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
"0" |
FALSE |
TRUE |
FALSE |
TRUE |
FALSE |
FALSE |
TRUE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
"-1" |
TRUE |
FALSE |
FALSE |
FALSE |
TRUE |
FALSE |
FALSE |
TRUE |
FALSE |
FALSE |
FALSE |
FALSE |
NULL |
FALSE |
TRUE |
FALSE |
TRUE |
FALSE |
FALSE |
FALSE |
FALSE |
TRUE |
TRUE |
FALSE |
TRUE |
array() |
FALSE |
TRUE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
TRUE |
TRUE |
FALSE |
FALSE |
"php" |
TRUE |
FALSE |
FALSE |
TRUE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
TRUE |
FALSE |
"" |
FALSE |
TRUE |
FALSE |
TRUE |
FALSE |
FALSE |
FALSE |
FALSE |
TRUE |
FALSE |
FALSE |
TRUE |
严格比拟 ===
TRUE |
FALSE |
1 |
0 |
-1 |
"1" |
"0" |
"-1" |
NULL |
array() |
"php" |
"" |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
TRUE |
TRUE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
TRUE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
1 |
FALSE |
FALSE |
TRUE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
0 |
FALSE |
FALSE |
FALSE |
TRUE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
-1 |
FALSE |
FALSE |
FALSE |
FALSE |
TRUE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
"1" |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
TRUE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
"0" |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
TRUE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
"-1" |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
TRUE |
FALSE |
FALSE |
FALSE |
FALSE |
NULL |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
TRUE |
FALSE |
FALSE |
FALSE |
array() |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
TRUE |
FALSE |
FALSE |
"php" |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
TRUE |
FALSE |
"" |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
TRUE |
参考链接
PHP 类型比拟表