2016-05-20 66 views
2

我有點困惑empty0。我想知道$number是否爲空。這意味着例如$number =但是這不應該包括0,因爲如果$number = 0它對我來說不是空的。我的結果是$number is empty如何區分具有值「0」的變量的空變量?

+0

怎麼樣'$數= 0.00;'?它應該被視爲'0'還是空的? – RomanPerekhrest

+0

@RomanPerekhrest:這也不是空的。 – Jarla

+0

「這也不是空的」 - 我會將消息「$ number is 0」更改爲「」$ number不爲空「」 - 如果'0'不是空的 – RomanPerekhrest

回答

1

http://php.net/empty

"" (an empty string) 
0 (0 as an integer) 
"0" (0 as a string) 
NULL 
FALSE 
array() (an empty array) 
var $var; (a variable declared, but without a value in a class) 

注意,這是完全一樣的列表作爲一個強迫布爾值false。

空簡單!isset($ var)|| !$變種。改爲嘗試isset

1

在這裏你的解決方法問題,你可以檢查這種方式。

$number = 0; 
    if (empty($number) && $number!== '0') { 
     echo "$number is empty."; 
    } else { 
    echo "$number is 0"; 
    } 

這裏我檢查了它是否爲空和非零值,那麼它是空的。希望它能幫助你。

0

Firsly,使用 echo "\$number is empty";echo '$number is empty'l 因爲當你寫「$號」,你會得到$數的值,而不是字符串「$號」。

關於你的問題。 在你的例子中你的$數字的整數值爲0. 它等於boolean false。

寫說明部分在這裏: php.net empty

正確示例:

$number = 0 
if($number === 0) 
    echo '$number is 0'; 
elseif(empty($number)) 
    echo '$number is empty'; 
else 
    echo '$number isn't empty and not equal to 0';