PHP empty函數判斷0返回真還是假

在生活中要不斷的學習,勇攀知識的高峯,以下本站小編整理的'關於PHP empty函數判斷0返回真還是假的問題的解答,希望對大家有所幫助,更多信息請關注應屆畢業生網!

PHP empty函數判斷0返回真還是假

最近項目中,遇到一個字段是 “是否啓用”值爲0,1 在查詢時沒想就寫了

if ( isset($args_array['useFlg']) && !empty($args_array['useFlg']) ) {

.....

}

於是查不到爲0的時候,想了一下,應該是0是被認爲是空.應該這樣:

if ( isset($args_array['useFlg']) && in_array($args_array['useFlg'] , array(0,1)) ) {

.....

}

  看了下php手冊,備忘:

如果 var 是非空或非零的值,則 empty() 返回 FALSE。換句話說,""、0、"0"、NULL、FALSE、array()、var $var; 以及沒有任何屬性的對象都將被認爲是空的,如果var 爲空,則返回 TRUE。

$var = 0;

// 結果爲 true,因爲 $var 爲空

if (empty($var)) {

echo '$var is either 0 or not set at all';

}

// 結果爲 false,因爲 $var 已設置

if (!isset($var)) {

echo '$var is not set at all';

}

?>

  另:

The following things are considered to be empty:

"" (an empty string)

0 (0 as an integer)

0.0 (0 as a float)

"0" (0 as a string)

NULL

FALSE

array() (an empty array)

var $var; (a variable declared, but without a value in a class)