English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
isset() La funzione viene utilizzata per verificare se una variabile è stata impostata e non è NULL.
Se una variabile è stata liberata con unset() e poi verificata con isset(), si restituirà FALSE.
Se si utilizza isset() per testare una variabile impostata a NULL, si restituirà FALSE.
Si prega di notare che il carattere nullo ("\0") non è uguale al costante NULL di PHP.
Requisiti di versione PHP: PHP 4, PHP 5, PHP 7
bool isset ( mixed $var [, mixed $... ] )
Spiegazione dei parametri:
Se vengono passati più parametri in una volta, isset() restituisce TRUE solo se tutti i parametri sono impostati, il calcolo avviene da sinistra a destra e si ferma immediatamente se si incontra un variabile non impostata.
Restituisce TRUE se la variabile specificata esiste e non è NULL, altrimenti restituisce FALSE.
<?php $var = ''; // Il risultato è TRUE, quindi il testo seguente verrà stampato. if (isset($var)) { echo "La variabile è stata impostata." . PHP_EOL; // Nei seguenti esempi, utilizzeremo var_dump per visualizzare il valore di ritorno di isset(). // il valore di ritorno di 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 ?>
Il risultato dell'output è:
La variabile è stata impostata. bool(true) bool(true) bool(false) bool(false) bool(false)
Questo è valido anche per gli elementi dell'array:
<?php $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 // Il valore della chiave 'hello' è NULL, quindi considerato non impostato // Se si desidera verificare un valore NULL come chiave, si può provare con il metodo seguente. var_dump(array_key_exists('hello', $a)); // TRUE // Verifica a un livello più profondo var_dump(isset($a['pie']['a'])); // TRUE var_dump(isset($a['pie']['b'])); // FALSE var_dump(isset($a['cake']['a']['b'])); // FALSE ?>
Il risultato dell'output è:
bool(true) bool(false) bool(false) bool(true) bool(true) bool(false) bool(false)
PHP 5.4 ha modificato il comportamento di isset() quando si utilizza lo spostamento di stringa come argomento.
<?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'])); ?>
Ecco l'output degli esempi sopra riportati in PHP 5.3:
bool(true) bool(true) bool(true) bool(true) bool(true) bool(true)
Ecco l'output degli esempi sopra riportati in PHP 5.4:
bool(false) bool(true) bool(true) bool(true) bool(false) bool(false)