PHP 檢測變量是否為空


PHP 中以下值得計算結果為 false:

關鍵字 boolean false
整型 integer 0
浮點型 double 0.0
字符串 string "" 
字符串 string  "0" 
數組 array  array() 
對象  object  空對象 php<5 
null  null  NULL 

例如 字符串"0":

<?php

$number = "0";
if($number) {
	echo "string \"0\" is not false \r\n";
} else {
	echo "string \"0\" is false \r\n"; // 輸出:string "0" is false
}

if(empty($number))   {
	echo "string \"0\" is false \r\n"; // 輸出:string "0" is false
} else {
	echo "string \"0\" is not false \r\n"; 
}

 

空數組:

<?php

$arr= array();

if($arr) {
	echo 'array $arr is not false'."\r\n";
} else {
	echo 'array $arr is false'."\r\n"; // 輸出:array $arr is false
}

if(empty($arr))   {
	echo 'array $arr is false'."\r\n"; // 輸出:array $arr is false
} else {
	echo 'array $arr is not false'."\r\n";
}

  

空對象在 PHP 5 以上版本中計算結果不為 false:

$obj=(object)array();

if($obj) {
	echo '$obj is not false'."\r\n"; // 輸出:$obj is not false
} else {
	echo '$obj is false'."\r\n";
}

if(empty($obj))   {
	echo '$obj is false'."\r\n";
} else {
	echo '$obj is not false'."\r\n"; // 輸出:$obj is not false
}

 

注意:字符串"0.0"、字符串"00"、包括一個空格字符的字符串" "、字符串"false" 、整型 -1 都不為 false:

<?php

$number = "0.0";
if($number) {
	echo "string \"0.0\" is not false \r\n"; // 輸出:string "0.0" is not false
} else {
	echo "string \"0.0\" is false \r\n";
}

if(empty($number))   {
	echo "string \"0.0\" is false \r\n";
} else {
	echo "string \"0.0\" is not false \r\n"; // 輸出:string "0.0" is not false 
}

  

正確地檢查一個變量是否為空應該使用:

<?php

if (empty($var)) { ... }

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM