isset

(PHP 4, PHP 5, PHP 7, PHP 8)

issetDetermina si una variable está declarada y es diferente de null

Descripción

isset(mixed $var, mixed ...$vars): bool

Determina si una variable es considerada definida, lo que significa que está declarada y es diferente de null.

Si una variable ha sido destruida con la función unset(), ya no se considera como definida.

isset() devolverá false al verificar una variable con valor null. Asimismo, cabe señalar que el carácter nulo ("\0") no es equivalente a la constante PHP null.

Si se proporcionan varios argumentos, entonces isset() devolverá true solo si todos los argumentos están definidos. La evaluación se realiza de izquierda a derecha y se detiene en cuanto se encuentra una variable no definida.

Parámetros

var

La variable a analizar.

vars

Variables adicionales.

Valores devueltos

Devuelve true si var existe y tiene un valor distinto de null. false en caso contrario.

Ejemplos

Ejemplo #1 Ejemplo con isset()

<?php

$var
= '';

// Esto es verdadero, por lo que el texto se muestra
if (isset($var)) {
echo
'Esta variable existe, por lo que puede ser mostrada.', PHP_EOL;
}

// En los siguientes ejemplos, utilizamos var_dump() para mostrar
// el retorno de la función isset().

$a = 'test';
$b = 'anothertest';

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

unset($a);

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

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

?>

También funciona con arrays:

Ejemplo #2 Ejemplo de isset() con elementos de array

<?php

$a
= array('test' => 1, 'bonjour' => NULL, 'pie' => array('a' => 'apple'));

var_dump(isset($a['test'])); // TRUE
var_dump(isset($a['foo'])); // FALSE
var_dump(isset($a['bonjour'])); // FALSE

// La clave 'bonjour' vale NULL y es considerada como no existente
// Si se desea verificar la existencia de esta clave, utilice esta función
var_dump(array_key_exists('bonjour', $a)); // TRUE

// Verificación de valores en profundidad
var_dump(isset($a['pie']['a'])); // TRUE
var_dump(isset($a['pie']['b'])); // FALSE
var_dump(isset($a['cake']['a']['b'])); // FALSE
?>

Ejemplo #3 isset() sobre posiciones en un string

<?php
$expected_array_got_string
= 'somestring';
var_dump(isset($expected_array_got_string['some_key']));
var_dump(isset($expected_array_got_string[0]));
var_dump(isset($expected_array_got_string['0']));
var_dump(isset($expected_array_got_string[0.5]));
var_dump(isset($expected_array_got_string['0.5']));
var_dump(isset($expected_array_got_string['0 Mostel']));
?>

El resultado del ejemplo sería:

bool(false)
bool(true)
bool(true)
bool(true)
bool(false)
bool(false)

Notas

Advertencia

isset() funciona únicamente con variables, ya que el uso de cualquier otra cosa resultará en un error de análisis. Para verificar si una constante está definida, utilice la función defined().

Nota: Puesto que esto es una construcción del lenguaje y no una función, no puede ser llamada usando funciones variables.

Nota:

Al utilizar esta función sobre propiedades de objeto inaccesibles, se llamará al método mágico __isset() si existe.

Ver también