7 de abril de 2009

PHP: Como saber si existe o no una variable

En muchas ocasiones necesitamos ejecutar bloques de código condicionados a que una variable haya sido definida o no.

Por lo general (y por prisas) se suele usar el típico ==0 o el típico =="", pero la manera correcta de saber si una variable existe o no es con la función isset.

¿Cómo funciona? Pues de la siguiente manera:

isset($variable);

Devolverá true si está definida y false si no ha sido definida.

Os pongo un ejemplo:

if(isset($variable)){
echo("variable definida");
}else{
echo("variable no definida");
}

¿Se pueden comprobar varias variables de una vez? Sí, de la siguiente manera:

isset($variable1,$variable2,$variable3);

Con que una de las variables no haya sido definida nos devolverá false.

Tened en cuenta que PHP no es muy estricto con las declaraciones de las variables, de tal manera que no hace falta declararlas previamente, con darles valor en cualquier momento el ejecutor de PHP las declara (p.ej. con $var=12 estaría ya declarada la variable $var como int).

Si una variable vale 0 o "" pero existe isset dará como respuesta true.