Функция isset() используется для определения того, установлена ли переменная и не имеет ли она значение NULL.
Если переменная была освобождена с помощью unset(), то isset() вернет FALSE.
Если isset() используется для проверки переменной, для которой установлено значение NULL, будет возвращено значение FALSE.
Также обратите внимание, что нулевой символ (« ») не эквивалентен константе PHP NULL.
Требования к версии PHP: PHP 4, PHP 5, PHP 7.
грамматика
bool isset (смешанный $var [, смешанный $...])
Описание параметра:
$var: переменная, которую нужно протестировать.
Если одновременно передается несколько параметров, isset() вернет TRUE только тогда, когда все параметры установлены. Процесс расчета выполняется слева направо и немедленно останавливается при обнаружении неустановленной переменной.
возвращаемое значение
Возвращает TRUE, если указанная переменная существует и не имеет значения NULL, в противном случае возвращает FALSE.
Пример
Пример
<?php $var = ' ' ; // Результат TRUE, поэтому будет напечатан следующий текст. если ( иссет ( $var ) ) { эхо « Переменная установлена » . PHP_EOL ; // В следующих примерах мы будем использовать var_dump для вывода возвращаемого значения isset(). // возвращаемое значение isset(). $ a = " тест " ; $ b = " другой тест " ; isset ( $ a ) ) ; var_dump ( isset ( $a , $b ) ) ; // ИСТИНА ;
не установлен ( $a ) ; var_dump ( isset ( $a ) ) ; // ЛОЖЬ; var_dump ( isset ( $a , $b ) ) ; // ЛОЖЬ; $foo = NULL ; var_dump ( isset ( $foo ) ) ; // ЛОЖЬ; ?> Результат:
Переменная установлена. bool(истина)bool(истина)bool(ложь)bool(ложь)bool(ложь)
Это также работает для элементов массива:
Пример
<?php $а = массив ( ' test ' => 1 , ' hello ' => NULL , ' pie ' = > array ( ' a ' => ' apple ' ) ) ; // var_dump ( isset ( $a [ ' test ' ] ) ) ; var_dump ( isset ( $a [ ' foo ' ] ) ) ; // ЛОЖЬ; var_dump ( isset ( $a [ ' hello ' ] ) ) ; // ЛОЖЬ; // Значение ключа hello равно NULL, поэтому он считается неустановленным // Если вы хотите обнаружить значения ключей NULL, вы можете попробовать следующий метод. var_dump ( array_key_exists ( ' привет ' , $a ) ) ; // TRUE; // Более глубокое обнаружение var_dump ( isset ( $a [ ' pie ' ] [ ' a ' ] ) ) ; // TRUE; var_dump ( isset ( $a [ ' pie ' ] [ ' b ' ] ) ) ; // ЛОЖЬ; var_dump ( isset ( $a [ ' cake ' ] [ ' a ' ] [ ' b ' ] ) ) ; // ЛОЖЬ; ?> Результат:
bool(истина)bool(ложь)bool(ложь)bool(истина)bool(истина)bool(ложь)bool(ложь)
Использование isset() со смещением строки
PHP 5.4 меняет поведение isset() при передаче смещения строки.
Пример
<?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 ' ] ) ) ; дамп ( 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 ' ] ) ) ; Вывод приведенного выше примера в PHP 5.3:
bool(истина)bool(истина)bool(истина)bool(истина)bool(истина)bool(истина)
Вывод приведенного выше примера в PHP 5.4:
bool(ложь)bool(истина)bool(истина)bool(истина)bool(ложь)bool(ложь)