2011-08-31 15 views
6

que es mejor?¿debo usar la función php vacía()

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

y

if ($val) { // do something } 

Cuando la prueba con PHP 5, todos los casos producir los mismos resultados. ¿Qué pasa con PHP 4, o tiene alguna idea de qué camino es mejor?

+0

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

Respuesta

16

Debe utilizar el constructo empty() cuando no esté seguro de si la variable existe. Si se espera que la variable se establezca, use if ($var) en su lugar.

empty() es el equivalente a !isset($var) || $var == false. Se returns cierto si la variable es:

  • "" (una cadena vacía)
  • 0 (0 como un entero)
  • 0.0 (0 como un flotador)
  • "0" (0 como una cadena)
  • NULL
  • FALSE
  • array() (una matriz vacía)
  • var $var; (una variable declarada, pero sin un valor en una clase)
+1

¿Realmente? No pensé que funcionó de esa manera. Siempre tuve que ejecutar isset() antes de ejecutar empty(). Pero lo probé y parece estar funcionando muy bien en PHP 5.3. Bueno, aprendes algo nuevo todos los días. ¡Gracias! – pthurmond

0

Leer la manual:

vacío() es lo contrario de var (boolean) , excepto que no se genera ninguna advertencia cuando la variable no está configurada.

Cuestiones relacionadas