Foros del Web » Programando para Internet » PHP »

Duda al evaluar Variables

Estas en el tema de Duda al evaluar Variables en el foro de PHP en Foros del Web. Buenos Dias. Mirad, me pasa lo siguiente. En un script, si pongo esto: if (!$prueba) echo hola; else echo adios; Me devuelve esto Notice: Undefined ...
  #1 (permalink)  
Antiguo 01/12/2009, 03:51
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 14 años, 10 meses
Puntos: 6
Duda al evaluar Variables

Buenos Dias. Mirad, me pasa lo siguiente.

En un script, si pongo esto:

if (!$prueba)
echo hola;
else
echo adios;

Me devuelve esto

Notice: Undefined variable: prueba in C:\Archivos de programa\Programas\EasyPHP 3.0\www\probando.php on line 5
hola

Y si pongo esto

$prueba = "texto";

if (!$prueba)
echo "hola";
else
echo "adios";

Me devuelve adios.

La pregunta es, porque me devuelve error la primera declaracion si, como yo lo entiendo, le estoy diciendo que me evalue si existe una variable me diga hola o adios?. Es mas, si esto lo hago con Isset, no me devuelve error en ninguno de los casos, tanto si la variable existe o si no, me devuelve hola o adios, pero nunca un mensaje de error.

Todo esto viene a que, me encuentro por ahí muchos scripts de mucha gente, que usa ! para evaluar si existe una variable, pero como a mi siempre me da error en el caso de que no exista, tengo que usar isset, por lo que o cambio todos los !, o no me vale el script.

Supongo que estoy equivocado en algo, pero no se en que. A ver si alguien me lo puede explicar. Gracias.
  #2 (permalink)  
Antiguo 01/12/2009, 05:59
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 5 meses
Puntos: 334
Respuesta: Duda al evaluar Variables

! <-- es para saber si tiene valor nulo..
entonces no le estas diciendo si no existe devuelve esto
le estas diciendo si la variable $prueba no contiene valor o es nula devuelve esto
por eso se usa el isset por que eso verifica si la variable existe o no

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 01/12/2009, 09:00
 
Fecha de Ingreso: julio-2003
Ubicación: Cochabamba Bolivia
Mensajes: 300
Antigüedad: 20 años, 8 meses
Puntos: 14
De acuerdo Respuesta: Duda al evaluar Variables

Hola, primero que nada recomendarte usar llaves para separar tus comparaciones, luego el usar isset solo te dira si una variable ha sido definida o no sin importar si tiene valor o no, o sea nulo, si ese es tu caso entonces usa isset.

Pero si lo que deseas es saber si una varible tiene un valor o esta nulo usa empty asi:
Código php:
Ver original
  1. if (empty($prueba))
  2. {
  3.  echo "adios";
  4. }
  5. else
  6. {
  7.  echo "hola";
  8. }

Te reitero depende que informacion deseas obtener usar una u otra funcion.

Saludos.
__________________
:policia: Uno para todos y todos para uno.

Última edición por sander; 01/12/2009 a las 09:05 Razón: ortografia
  #4 (permalink)  
Antiguo 01/12/2009, 14:40
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 14 años, 10 meses
Puntos: 6
Respuesta: Duda al evaluar Variables

Pues muchas gracias a los dos. Me habeis sido de gran ayuda. Un saludo.
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 13:48.