JS和PHP中能轉為布林false的值的對比
阿新 • • 發佈:2018-12-04
實際開發中經常會使用到JS和PHP中的變數轉布林值進行條件判斷,下面對兩種語言中轉布林型別結果為false的值進行對比,加深記憶和方便引用。
除了下表列出項,其它的值均轉成真值true 。
轉布林值後為false
JS | PHP |
---|---|
布林值 false 本身 | 布林值 false 本身 |
特殊型別 null | 特殊型別 null (包括尚未賦值的變數) |
空字串 “” | 空字串 “” |
數值 0 (零) | 整型值 0(零) |
undefined | 浮點型值 0.0(零) |
NaN | 字串 “0” |
不包括任何元素的陣列 | |
從空標記生成的 SimpleXML 物件 | |
不包括任何成員變數的物件(僅 PHP 4.0 適用) |
JS中的"0"比較需要注意:
>>> "0" == false //當操作雙方非同一型別時,有一邊是數值或是布林值則會先將兩邊轉成數值再比較
true
>>> "0" == true
false
>>> Boolean("0") //轉化成的布林值是true
true
>>> Boolean(0)
false
PHP中有時需要判斷從資料庫拿出的欄位值是不是等於0,而不受null值的影響,可以採用'0'==$var
的方式判斷,因為’0’不等於null。
var_dump(
'0' == false, //bool(true)
'0' == null, //bool(false)
'0' == 0, //bool(true)
0 == null //bool(true)
);
End.