Foros del Web » Programando para Internet » PHP »

Detectar cadena null o cadena vacia

Estas en el tema de Detectar cadena null o cadena vacia en el foro de PHP en Foros del Web. Hola amigos!! Si haceis cosas como estas if($var==null || $var=="") Es un grave error. Por que? porque si $var=0 pasa tanto como null como por ...
  #1 (permalink)  
Antiguo 08/02/2012, 09:43
 
Fecha de Ingreso: diciembre-2010
Mensajes: 79
Antigüedad: 13 años, 11 meses
Puntos: 3
Detectar cadena null o cadena vacia

Hola amigos!!

Si haceis cosas como estas
if($var==null || $var=="")

Es un grave error. Por que? porque si $var=0 pasa tanto como null como por cadena vacia.

Es decir lo recomendable es hacer is_null($var) y para el caso de cadena vacia no si esto estara bien o hay otro mas rapido strcmp("",$var)

Saludos
  #2 (permalink)  
Antiguo 08/02/2012, 09:45
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Detectar cadena null o cadena vacia

use isset o is_empty según el caso
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 08/02/2012, 09:45
 
Fecha de Ingreso: noviembre-2007
Ubicación: Etzatlan, Jalisco
Mensajes: 50
Antigüedad: 17 años
Puntos: 18
Respuesta: Detectar cadena null o cadena vacia

Código PHP:
Ver original
  1. empty($var)
  #4 (permalink)  
Antiguo 08/02/2012, 09:56
 
Fecha de Ingreso: diciembre-2010
Mensajes: 79
Antigüedad: 13 años, 11 meses
Puntos: 3
Respuesta: Detectar cadena null o cadena vacia

FILTER_VALIDATE_INT, por desgracia si estamos haciendo validaciones de enteros no podemos usar el FILTER_VALIDATE_INT puesto que no se traga el 0
  #5 (permalink)  
Antiguo 08/02/2012, 09:58
 
Fecha de Ingreso: diciembre-2010
Mensajes: 79
Antigüedad: 13 años, 11 meses
Puntos: 3
Respuesta: Detectar cadena null o cadena vacia

Cita:
Iniciado por anarkes Ver Mensaje
Código PHP:
Ver original
  1. empty($var)
Hola anarkes,

Si haces un empty de un 0 te devuelve true, es decir que tampoco me vale. Pues que para mi el 0 no es una cadena vacia.
  #6 (permalink)  
Antiguo 08/02/2012, 10:00
 
Fecha de Ingreso: diciembre-2010
Mensajes: 79
Antigüedad: 13 años, 11 meses
Puntos: 3
Respuesta: Detectar cadena null o cadena vacia

Cita:
Iniciado por maycolalvarez Ver Mensaje
use isset o is_empty según el caso
isset te devuelve si has inicializado una variable. Es decir que tampoco me vale y sobre el empty lo mismo que le conteste a anarkes
  #7 (permalink)  
Antiguo 08/02/2012, 10:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Detectar cadena null o cadena vacia

Usa el operador de igualdad y equidad:
Código PHP:
Ver original
  1. $var1 = 0;
  2. if ($var1 === null || $var1 === '') {
  3.        echo "vacio";
  4. }

Saludos.
  #8 (permalink)  
Antiguo 08/02/2012, 10:43
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 6 meses
Puntos: 394
Respuesta: Detectar cadena null o cadena vacia

Cita:
FILTER_VALIDATE_INT, por desgracia si estamos haciendo validaciones de enteros no podemos usar el FILTER_VALIDATE_INT puesto que no se traga el 0
Ojo con esto, la cosa no es que "no se traga el 0" lo que pasa es que PHP retorna int(0) pero PHP auto evalúa ese cero como un FALSE, entonces para solucionar ese problema usamos ===

Código PHP:
Ver original
  1. if(isset($inputvariable) && (filter_var($inputvariable, FILTER_VALIDATE_INT)===0 || !filter_var($inputvariable, FILTER_VALIDATE_INT)===False ))
  2. {
  3.  // entero valido incluyendo 0
  4. }
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:23.