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)); // TRUEunset ($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