Validaciones de variables en PHP, caso isset

En la vida real de cualquier programador un dolor de cabeza es las validaciones de tipos de datos, vamos a ver algunas de ellas en el lenguaje PHP, en esta primera entrega veremos si una variable está definida y no es NULA..

isset — Determina si una variable está definida y no es NULL

Si una variable ha sido removida con unset(), esta ya no estará definida. isset() devolverá FALSE si prueba una variable que ha sido definida como NULL. También tenga en cuenta que un byte NULL («\0») no es equivalente a la constante NULL de PHP.

Si son pasados varios parámetros, entonces isset() devolverá TRUE únicamente si todos los parámetros están definidos. La evaluación se realiza de izquierda a derecha y se detiene tan pronto como se encuentre una variable no definida.

Valores devueltos

Devuelve TRUE si var existe y tiene un valor distinto de NULL, FALSE de lo contrario.

Veamos un ejemplo: $var = »;// Esto evaluará a TRUE así que el texto se imprimirá. if (isset($var)) { echo «Esta variable está definida, así que se imprimirá»; }

// En los siguientes ejemplo usaremos var_dump para imprimir, el valor devuelto por isset().

$a = «prueba»;
$b = «otraprueba»;

var_dump(isset($a)); // TRUE
var_dump(isset($a, $b)); // TRUE

unset ($a); //destruyo la variable..

var_dump(isset($a)); // FALSE
var_dump(isset($a, $b)); // FALSE

$foo = NULL;
var_dump(isset($foo)); // FALSE

Otro ejemplo con matrices:

$a = array (‘test’ => 1, ‘hello’ => NULL, ‘pie’ => array(‘a’ => ‘apple’));

var_dump(isset($a[‘test’])); // TRUE
var_dump(isset($a[‘foo’])); // FALSE
var_dump(isset($a[‘hello’])); // FALSE

// La clave hello’ es igual a NULL así que no se considera definida
// Si desea comprobar los valores NULL clave, intente:
var_dump(array_key_exists(‘hello’, $a)); // TRUE

// Comprobando valores de arrays con más profunidad
var_dump(isset($a[‘pie’][‘a’])); // TRUE
var_dump(isset($a[‘pie’][‘b’])); // FALSE
var_dump(isset($a[‘cake’][‘a’][‘b’])); // FALSE