2012-03-18 60 views
26

定義做一些與$錯誤前:空變量在PHP

$error = NULL; 

在某些腳本的鋸:

$error = ''; 
$error = false; 
$error = 0; 
  • 哪種方法是 '好' 或也許這取決於其中我使用 的情況呢?
  • 你的建議是什麼?
+1

是的,這取決於你使用它什麼。 – 2012-03-18 18:01:05

回答

34

取決於你的設計:

  • 你在錯誤的情況下,將其設置爲一個對象?使用NULL
  • 如果出現錯誤,您是否將其設置爲true?使用false
  • 你是否將它設置爲某種錯誤的數字?使用0
  • 你是否將它設置爲一個字符串來描述錯誤?使用''

儘管指示錯誤的更好方法是throwing Exceptions,但不是設置變量並根據它來確定錯誤。

+1

+1提到的例外! – Neysor 2012-03-18 18:08:01

+0

數組是什麼? – Kwadz 2016-12-21 20:50:05

+1

@Kwadz通常是一個空陣列。 – 2016-12-21 21:45:44

3

這個問題沒有規範的答案。只要你一直使用這些信號量,你就可以使用任何你想要的東西。由於PHP是鬆散類型的,所有這些值都是「虛假」,並且可以在布爾值比較中評估爲FALSE

也就是說,空字符串與其他字符串之間有更多的區別,所以我堅持在這種情況下使用NULL s和FALSE s。

1

這取決於您需要使用$error的條件。使用NULL是我主要選擇的,因爲我更多地處理MySQL子句和所有!

1

1.

$v = NULL; 

settype($v, 'string'); 
settype($v, 'int'); 
settype($v, 'float'); 
settype($v, 'bool'); 
settype($v, 'array'); 

var_dump($v); 

2.

$v = NULL; 
var_dump((string) $v); 
var_dump((int) $v); 
var_dump((float) $v); 
var_dump((bool) $v); 
var_dump((array) $v);