2012-04-26 26 views

Respuesta

18

Estoy usando strlen para verificar si la cadena es nula o está vacía.

if (strlen($str) == 0){ 
    //your code here 
} 
+6

¿Qué le parece agregar un recorte justo antes del $ str? ¿Ayudaría eso a hacer espacios vacíos? Como 'if (strlen (trim ($ str)) == 0) {' –

10

El método empty() también considera NULL como un valor vacío. Además de todos estos valores:

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

Gracias, esto no funcionará en mi caso porque valores como 0 no están considerados como vacíos en mi código. – EOB

+1

@EOB Sí, a veces ese es el problema con el método empty(). Entonces deberías usar algo como 'if (is_null ($ var) || $ var ==" ")'. – Oldskool

2

Si desea comprobar la cadena vacía, pero no en caso de 0, entonces probar este ..

if (!is_numeric($str) && empty($str)) 

aquí is_numeric cheque de cadena no es un valor numérico, y luego empty cheque por nulo.

gracias ..

Cuestiones relacionadas