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 相等 不...