PHP強化之08 - 型別的比較
阿新 • • 發佈:2018-12-14
----- 最後更新【2018-12-7】-----
一、False與NULL
1、False的七種情況
整型0
、浮點0.0
、布林false
、空字串''
、0字串'0'
、空陣列[]
、NULL。
2、NULL的三種情況:
被賦值為 NULL、尚未被賦值(或未定義的變數)、被 unset()。
二、使用PHP函式對變數$x進行比較
表示式 | 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 = 0; | integer | TRUE | FALSE | TRUE | FALSE |
$x = “0”; | string | TRUE | FALSE | TRUE | FALSE |
三、“==”與“===”
1、“==”與“===”的區別
==
比較兩個變數的值,但不比較資料型別,屬於鬆散比較;而===
即比較兩個變數的值,也比較它們的資料型別,屬於嚴格比較。
!=
與!==
的區別是同樣的道理。
2、容易混淆的幾個比較:
1)[]==0
為false
2)[]==null
為true
3)is_null([])
為false
4)0==0.0
為true
,0===0.0
為false