php中null,0, ,false的區別

2021-07-11 10:34:19 字數 555 閱讀 1662

empty()函式用來判斷字串是否為空

只要變數是0,null,'',false,empty()都判斷為true。

$num1='';

$num2=0;

echo $num1==$num2;

echo '

'; echo $num1===$num2 ? '1' : '0';

結果為:

原因是在php中變數時以c語言的結構體來儲存的,空字串和null,false都是以值為0儲存的,其中這個結構體有個zend_uchartype;這樣的成員變數,它是用來儲存變數的型別的,而空字串的型別是string,null的型別是null,false是boolean。而===運算子不僅比較值,還比較型別。

判斷空字串和0可以這樣:

$num1='';

$num2=0;

if(empty($num1) && $num1==='')

if(empty($num2) && $num2===0)

結果為:

php中0, ,null和false的區別

php中很多還不懂php中0,null和false之間的區別,這些區別有時會影響到資料判斷的正確性和安全性,給程式的測試執行造成很多麻煩。先看乙個例子 str1 null str2 false echo str1 str2 相等 不相等 str3 str4 0 echo str3 str4 相等 不...

php中0, ,null和false的區別

php中很多還不懂php中0,null和false之間的區別,這些區別有時會影響到資料判斷的正確性和安全性,給程式的測試執行造成很多麻煩。先看乙個例子 str1 null str2 false echo str1 str2 相等 不相等 str3 str4 0 echo str3 str4 相等 不...

php中0, ,null和false的區別

php中很多還不懂php中0,null和false之間的區別,這些區別有時會影響到資料判斷的正確性和安全性,給程式的測試執行造成很多麻煩。先看乙個例子 str1 null str2 false echo str1 str2 相等 不相等 str3 str4 0 echo str3 str4 相等 不...