Foros del Web » Programando para Internet » PHP »

isset

Estas en el tema de isset en el foro de PHP en Foros del Web. Tengo una pregunta desde hace bastante. ¿Cuál es la diferencia de usar isset o no para comprobar la existencia de una variable? Es decir, la ...
  #1 (permalink)  
Antiguo 18/07/2005, 13:42
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 12 años, 10 meses
Puntos: 0
isset

Tengo una pregunta desde hace bastante.
¿Cuál es la diferencia de usar isset o no para comprobar la existencia de una variable? Es decir, la diferencia entre:

Código PHP:
if($var
y
Código PHP:
if(isset($var)) 
Muchas gracias
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #2 (permalink)  
Antiguo 18/07/2005, 13:52
 
Fecha de Ingreso: diciembre-2004
Mensajes: 96
Antigüedad: 13 años
Puntos: 0
el isset devuelve true si la variable contiene un dato. es bueno utilizarlo para verificar que las variables que envies contengan el resultado que estas esperando

Un saludo
  #3 (permalink)  
Antiguo 18/07/2005, 14:18
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 12 años, 10 meses
Puntos: 0
Pero es lo mismo que if($var)? Creo que si una variable es definida como vacía ($var="") isset devuelve True pero if($var) devuelve False. ¿Cuál conviene?

Gracias
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #4 (permalink)  
Antiguo 18/07/2005, 14:33
 
Fecha de Ingreso: diciembre-2004
Mensajes: 96
Antigüedad: 13 años
Puntos: 0
Cita:
Iniciado por thunder.scripts
Pero es lo mismo que if($var)? Creo que si una variable es definida como vacía ($var="") isset devuelve True pero if($var) devuelve False. ¿Cuál conviene?

Gracias
Fede
primeramente isset no devuelve true si esta vacia,

PHP Manual
Código HTML:
http://mx.php.net/manual/es/function.isset.php
int isset ( mixed var )
Devuelve TRUE si var existe; y FALSE en otro caso.


en el caso que expones
if($var)--------> porque dices que esta sentencia devuelve false

expon mejor tu caso para poder aclarar tu duda gracias.

Un Saludo
  #5 (permalink)  
Antiguo 18/07/2005, 14:40
Avatar de The_Dark_Roy  
Fecha de Ingreso: enero-2004
Mensajes: 218
Antigüedad: 13 años, 10 meses
Puntos: 0
para ver si la variable esta vacia deberias usar empty()
__________________
ojala te hayas quitado la venda

http://www.surire.cl
http://www.uta.cl
  #6 (permalink)  
Antiguo 18/07/2005, 14:43
 
Fecha de Ingreso: diciembre-2004
Mensajes: 96
Antigüedad: 13 años
Puntos: 0
concuerdo con the dark roy un saludo
  #7 (permalink)  
Antiguo 18/07/2005, 16:47
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
Lo del empty es correcto. El isset es para saber si la variable esta seteada, sin importar lo que contenga...o sea:
$var = '';
isset($var); #True
o
$var = 'cualquier cosa';
isset($var); #True
Pero si haces:
unset($var)
isset($var); #False.


Lo que vos haces haciendo:
if($var)
Es preguntar si esta tiene algun valor, es lo mismo que usar empty. en si sería:
$var = '';
if($var); #false
$var = 'cualquier cosa';
if($var); #True
y con
unset($var)
if($var); #False.
Pero como dicen, es mucho mejor usar empty si queres saber sobre el contenido de dicha var (no el seteo, que son cosas diferentes)
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #8 (permalink)  
Antiguo 18/07/2005, 16:50
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 12 años, 10 meses
Puntos: 0
Mil gracias!
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #9 (permalink)  
Antiguo 18/07/2005, 17:05
 
Fecha de Ingreso: junio-2005
Mensajes: 8
Antigüedad: 12 años, 6 meses
Puntos: 0
A todo lo dixo faltaria decir k si $var=0
if ($var) devolveria false mientras k
if (isset($var)) devolveria true
ya k en la primera comprueba k
if (0) x lo tanto falso (if (1) seria verdadero) y
if (existe($var)) comprueba k se haya seteado la variable $var y como se le ha asignado el valor 0 si k se ha seteado

en realidad el if solo comprueba si las comparaciones es (diferente de 0) o (0) if (34==34) es lo mismo que if (1) x lo tanto verdadero y if (34==33) seria if (0) x lo tanto falso, probar a poner en un if: if (7)

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 01:29.