2013-04-09 70 views
1

我只是想確保THA如果傳遞FALSE作爲參數傳遞給一個empty(),它將返回TRUEPHP爲什麼我不能運行空(FALSE)代碼?

var_dump(empty(FALSE)); 

,但我不能。 這裏是我得到:

PHP Parse error: syntax error, unexpected ')', expecting :: (T_PAAMAYIM_NEKUDOTAYIM) in Command line code on line 1 

當我運行這段代碼在CMD:

C:\>php -r "echo empty(FALSE);"; 

我得到了這樣的結果:

PHP Parse error: syntax error, unexpected ')', expecting :: (T_PAAMAYIM_NEKUDOTAYIM) in Command line code on line 

Parse error: syntax error, unexpected ')', expecting :: (T_PAAMAYIM_NEKUDOTAYIM) in Command line code on line 1 

我以爲我會要麼回聲10。但事實並非如此。 任何想法?

+1

'empty'預期的變量。 – Kermit 2013-04-09 17:24:13

+1

AH,好老'T_PAAMAYIM_NEKUDOTAYIM',我已經錯過了你 – OptimusCrime 2013-04-09 17:28:17

回答

4

empty只允許傳遞一個命名變量。

http://php.net/empty

之前PHP 5.5,空()只支持變量;其他任何東西都會導致解析錯誤。換句話說,以下內容不起作用:空(trim($ name))。相反,使用trim($ name)== false。

從同一頁

此外,

空()不產生如果變量不存在的警告。

+0

哦...哈哈RTFM謝謝:) – rinchik 2013-04-09 17:52:39

1

empty需要一個變量。你需要傳遞一個變量是這樣的:

$var = false; 
if (empty($var))