Foros del Web » Programando para Internet » PHP »

diferencia entre !empty e !=""

Estas en el tema de diferencia entre !empty e !="" en el foro de PHP en Foros del Web. hola, me gustaría saber si hay alguna diferencia entre empty (que según me han explicado que devuelve TRUE cuando la variable está vacía) y !empty ...
  #1 (permalink)  
Antiguo 05/11/2011, 12:35
 
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 295
Antigüedad: 13 años, 6 meses
Puntos: 12
Diferencia entre 'empty' y !empty

hola, me gustaría saber si hay alguna diferencia entre empty (que según me han explicado que devuelve TRUE cuando la variable está vacía) y !empty, con exclamación delante.
  #2 (permalink)  
Antiguo 05/11/2011, 12:41
Avatar de Artificium  
Fecha de Ingreso: enero-2011
Mensajes: 492
Antigüedad: 13 años, 3 meses
Puntos: 81
Respuesta: Diferencia entre 'empty' y !empty

La pregunta más bien sería que significa el signo de exclamación. Pues te diré que es un operador lógico, significa NOT, y cambia el valor booleano. Por ejemplo, como tú dices empty si está vacía la variable devuelve true, pero si le colocas el signo de exclamación adelante pues le cambias el valor de verdad, entonces devuelve false. Igual para cualquier función que devuelva algún valor de verdad (aunque para ser mas preciso en PHP cualquier tipo de valor tiene un valor boleano.
  #3 (permalink)  
Antiguo 05/11/2011, 13:45
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Diferencia entre 'empty' y !empty

Además de lo que te explicó Artificium, te pongo algunos ejemplos:
Código PHP:
Ver original
  1. if($var) echo 'Var existe';
  2. if(!$var) echo 'Var no existe';
  3. if(isset($var)) echo 'Var existe';
  4. if(!isset($var)) echo 'Var no existe';
  5.  
  6. $var = 'uno';
  7.  
  8. if($var == 'uno') echo 'Var es igual a uno';
  9. if($var != 'uno') echo 'Var es distinto a uno';

Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #4 (permalink)  
Antiguo 05/11/2011, 15:19
 
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 295
Antigüedad: 13 años, 6 meses
Puntos: 12
diferencia entre !empty e !=""

hola, estaba haciendo un formulario para insertar datos en una tabla de mysql y he encontrado diferentes opciones. No tengo ningún problema con el funcionamiento, pero me gustaría saber la diferencia entre las siguientes expresiones:


Código PHP:
$titulo $_POST['TITULO']; 
EXPRESION 1:

Código PHP:
if (!empty($titulo)){
...

EXPRESION 2
Código PHP:
if ($titulo != ""){
...

Gracias
  #5 (permalink)  
Antiguo 05/11/2011, 15:28
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: diferencia entre !empty e !=""

La diferencia es evidente cuando activas el reporte de errores, o bien, revisas el log de errores.

¿Por qué?

La primer forma, la del empty() no genera ningún error pues sirve precisamente para comprobar la existencia de la variable y su valor.

Sin embargo la segunda forma genera un error si la variable no esa definida, tal vez no lo notas pero es porque trabajas en un entorno tristemente configurado.

Así pues, la forma del empty() es siempre mejor, y se recomienda ampliamente.

Te invito a leer lo siguiente para que te des una mejor idea de lo que digo:
http://www.forosdelweb.com/f18/undef...riable-923992/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 05/11/2011, 16:44
 
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 295
Antigüedad: 13 años, 6 meses
Puntos: 12
Respuesta: diferencia entre !empty e !=""

Ok, gracias. El problema es que si pongo la comprobación para insertar los datos con empty me da error, mientras que si lo hago con diferente a vacío me sale todo bien e inserta los datos. Sabrías decirme por qué. Puede que radique en la diferencia entre ambos ??
  #7 (permalink)  
Antiguo 05/11/2011, 16:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: diferencia entre !empty e !=""

A ver, en tu primer código dices que no tienes problemas de funcionamiento pero ahora dices que si los tienes?

Por favor, muestra como lo haces cuando te resulta mal, así podemos ver bien lo que haces.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 06/11/2011, 14:14
 
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 295
Antigüedad: 13 años, 6 meses
Puntos: 12
Respuesta: diferencia entre !empty e !=""

Cita:
Iniciado por pateketrueke Ver Mensaje
A ver, en tu primer código dices que no tienes problemas de funcionamiento pero ahora dices que si los tienes?

Por favor, muestra como lo haces cuando te resulta mal, así podemos ver bien lo que haces.
lo volví a probar y funcionó a la perfección con el !empty, gracias por todo

Etiquetas: diferencia, empty, formulario, mysql, tabla, variables
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 17:54.