Foros del Web » Programando para Internet » PHP »

empty o ==''

Estas en el tema de empty o =='' en el foro de PHP en Foros del Web. Que tal amigos, tengo una duda pueden decirme cual es la diferencia entre utilizar; if(empty($var)) o utilizar if($var=='') Gracias por su respuesta. Saludos...
  #1 (permalink)  
Antiguo 02/12/2009, 12:28
 
Fecha de Ingreso: octubre-2008
Ubicación: Xalapa, Ver
Mensajes: 27
Antigüedad: 15 años, 6 meses
Puntos: 2
empty o ==''

Que tal amigos, tengo una duda pueden decirme cual es la diferencia entre utilizar;

if(empty($var)) o utilizar if($var=='')

Gracias por su respuesta. Saludos
  #2 (permalink)  
Antiguo 02/12/2009, 12:36
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: empty o ==''

Bien, la diferencia seria:

con empty() estas preguntando si en la variable no hay NADA cargado. Y cuando digo nada me refiero a cualquier tipo de dato

con =="" preguntas si lo que esta dentro de la variable es igual a "" que es un caracter nulo digamos
  #3 (permalink)  
Antiguo 02/12/2009, 12:41
 
Fecha de Ingreso: octubre-2008
Ubicación: Xalapa, Ver
Mensajes: 27
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: empty o ==''

Gracias por la info
  #4 (permalink)  
Antiguo 02/12/2009, 12:48
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: empty o ==''

Buscando info sobre eso encontre este articulo, que por cierto me ha venido bien encontrarlo a mi tambien

http://blogdesarrollo.com/php/2009/0...tu-codigo-php/ (en el punto 43 tienes algo)

Saludos
  #5 (permalink)  
Antiguo 02/12/2009, 13:51
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: empty o ==''

Cita:
Iniciado por jackson666 Ver Mensaje
con =="" preguntas si lo que esta dentro de la variable es igual a "" que es un caracter nulo digamos
No, no digamos eso porque no es verdad, mejor digamos lo que es, una cadena vacia, que no es lo mismo que NULL
  #6 (permalink)  
Antiguo 02/12/2009, 13:55
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: empty o ==''

Cita:
Iniciado por darkasecas Ver Mensaje
No, no digamos eso porque no es verdad, mejor digamos lo que es, una cadena vacia, que no es lo mismo que NULL
Cuando tenes razon, tenes razon! Bien ahi por la correccion!
  #7 (permalink)  
Antiguo 02/12/2009, 18:22
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: empty o ==''

Como agregado a lo dicho: Tengan en cuenta que existen dos operadores de comparación totalmente distintos que muchas veces son confundidos. El más usado, ==, que en términos simples significa comparación flexible, y === que significa comparación estricta. Hablando desde un punto de vista "flexible", la siguiente expresión es verdadera (de lo cuál se deduce que, para el operador ==, "" es igual a null):

"" == false == 0 == null

Efectivamente, usar empty() es diferente a usar esos operadores de comparación. Revisa estas tablas y observa para qué tipo de expresiones empty() devuelve true.

  #8 (permalink)  
Antiguo 02/12/2009, 18:30
 
Fecha de Ingreso: junio-2008
Mensajes: 131
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: empty o ==''

¿es lo mismo que hacer if(!$var)?
  #9 (permalink)  
Antiguo 02/12/2009, 18:38
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: empty o ==''

Nuevamente, revisa esas tablas que puse en el mensaje anterior. En la primera tabla verás que la última columna es un match entre if($var) y otras expresiones. ! es un operador lógico de negación, lo que quiere decir que evalúa como true cuando la expresión que está negando resulta false. Por lo tanto, en esa tabla, en esa columna que te refería, aquellas expresiones que den false serán las que den true para if(!$var). Como verás, no es lo mismo que empty() ni "".

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 16:40.