2011-08-31 42 views
6

哪個更好?我應該使用空()PHP函數

if (!empty($val)) { // do something } 

if ($val) { // do something } 

當我在PHP 5測試它,所有的情況下產生同樣的結果。那麼PHP 4怎麼樣,或者有什麼想法哪種方式更好?

+0

http://php.net/manual/en/types.comparisons.php – Mike

回答

16

當您不確定變量是否存在時,您應該使用empty()結構。如果該變量預計將被設置,請改爲使用if ($var)

empty()相當於!isset($var) || $var == false。如果變量是它returns真:

  • ""(空字符串)
  • 0(0作爲整數)
  • 0.0(0爲float)
  • "0"(0作爲字符串)
  • NULL
  • FALSE
  • array()(空數組)
  • var $var;(變量聲明,但沒有在一個類中的值)
+1

真的嗎?我不認爲它是這樣工作的。在運行empty()之前,我總是必須運行isset()。但我只是試了一下,它似乎在PHP 5.3中工作得很好。那麼你每天都會學到新的東西。謝謝! – pthurmond

0

閱讀manual

空()是(布爾值)變種的相對,除了未設置變量時生成的警告是 。

相關問題