PHP真值表备忘录 empty is_null isSet == ===

PHP里面,有众多的函数检查一个变量是否存在,或者是否为真,或者是否为空。例如: empty, is_null, isSet, == null等等,你知道他们之间的细节差异吗?表中的T就是True, F就是False

原文地址: http://www.blueshoes.org/en/developer/php_cheat_sheet/

检查变量的函数












































































































































gettype()empty()is_null()isSet()(bool)
$x = “”;stringTFTF
$x = null;NULLTTFF
var $x; (not set)NULLTTFF
$x = array();arrayTFTF
$x = false;booleanTFTF
$x = 15;integerFFTT
$x = 1;integerFFTT
$x = 0;integerTFTF
$x = -1;integerFFTT
$x = “15″;stringFFTT
$x = “1″;stringFFTT
$x = “0″;stringTFTF
$x = “-1″;stringFFTT
$x = “foo”;stringFFTT
$x = “true”;stringFFTT
$x = “false”;stringFFTT

注意: empty() 和isSet() 在传入一个未定义变量的时候,报warning的。

## 用==比较




































































































































































































































truefalse10-1“1″“0″“-1″“1.3″1.3array()“foo”“”
trueTFTFTTFTTTFTF
falseFTFTFFTFFFTFT
1TFTFFTFFFFFFF
0FTFTFFTFFFFTT
-1TFFFTFFTFFFFF
“1″TFTFFTFFFFFFF
“0″FTFTFFTFFFFFF
“-1″TFFFTFFTFFFFF
“1.3″TFFFFFFFTTFFF
1.3TFFFFFFFTTFFF
array()FTFFFFFFFFTFF
“foo”TFFTFFFFFFFTF
“”FTFTFFFFFFFFT

用===比较




































































































































































































































truefalse10-1“1″“0″“-1″“1.3″1.3array()“foo”“”
trueTFFFFFFFFFFFF
falseFTFFFFFFFFFFF
1FFTFFFFFFFFFF
0FFFTFFFFFFFFF
-1FFFFTFFFFFFFF
“1″FFFFFTFFFFFFF
“0″FFFFFFTFFFFFF
“-1″FFFFFFFTFFFFF
“1.3″FFFFFFFFTFFFF
1.3FFFFFFFFFTFFF
array()FFFFFFFFFFTFF
“foo”FFFFFFFFFFFTF
“”FFFFFFFFFFFFT