¿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)
Código PHP:
if(isset($var))
Fede
| |||
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: Código PHP: Fede |
| |||
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 |
| |||
Cita: primeramente isset no devuelve true si esta vacia,
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 PHP Manual Código HTML: http://mx.php.net/manual/es/function.isset.php 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 ![]() |
| ||||
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 |
| |||
Mil gracias! |
| |||
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 |