2012-03-18 20 views
26

Antes de hacer algo con $ error:variable de vacío define en php

$error = NULL; 

En la sierra de una secuencia de comandos:

$error = ''; 
$error = false; 
$error = 0; 
  • ¿Qué método es 'mejor' o tal vez depende en que situación que uso ?
  • ¿Cuál es su sugerencia?
+1

Sí, depende de lo que lo está utilizando para. –

Respuesta

34

depende de su diseño:

  • Es usted la creación como un objeto en caso de error? Use NULL.
  • ¿Lo está configurando en true en caso de error? Use false.
  • ¿Lo está configurando como un número de algún tipo en caso de error? Use 0.
  • ¿Lo está configurando en una cadena para describir el error? Use ''.

Sin embargo, una mejor forma de indicar errores sería throwing Exceptions, en lugar de establecer una variable y determinar el error de acuerdo con ella.

+1

+1 para excepciones mencionadas! – Neysor

+0

¿Qué hay sobre una matriz? – Kwadz

+1

@Kwadz Una matriz vacía, por lo general. –

3

No hay respuesta canónica a esta pregunta. Siempre y cuando uses uno de estos semáforos constantemente, puedes usar cualquier cosa que desees. Debido a que PHP tiene un tipado libre, todos estos valores son "falsos" y se pueden evaluar en una comparación booleana como FALSE.

Dicho esto, hay una gran diferencia entre la cadena vacía y las demás, por lo que me quedaría con NULL sy FALSE s en este tipo de escenario.

1

Depende de las condiciones en las que necesite utilizar el $error. Usar un NULL es lo que escogí sobre todo porque trato más con las cláusulas de MySQL y todo!

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);