Функция PHP isset()

PHP 可用的函数Доступные функции PHP

isset()Функция используется для проверки того, установлена ли переменная и не является ли она NULL.

Если переменная была освобождена с помощью unset(), то проверка её с помощью isset() вернёт FALSE.

Если isset() используется для проверки переменной, установленной в NULL, будет возвращено FALSE.

Также обратите внимание, что нулевой символ ("\0") не эквивалентен константе NULL в PHP.

Требования к версии PHP: PHP 4, PHP 5, PHP 7

Синтаксис

bool isset ( mixed $var [, mixed $... ] )

Описание параметров:

  • $var: переменная для проверки.

Если сразу передаётся несколько параметров, isset() возвращает TRUE только в том случае, если все параметры установлены. Вычисление выполняется слева направо и немедленно останавливается при обнаружении неустановленной переменной.

Возвращаемое значение

Возвращает TRUE, если указанная переменная существует и не равна NULL; в противном случае возвращает FALSE.

Пример

Пример

<?php $var = ''; //Результат равен TRUE, поэтому будет выведен следующий текст. if (isset($var)) { echo "Переменная установлена." . PHP_EOL; } //В следующих примерах мы будем использовать var_dump для вывода возвращаемого значения isset(). // возвращаемое значение 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 ?>

Вывод:

变量已设置。
bool(true)
bool(true)
bool(false)
bool(false)
bool(false)

Это также работает для элементов массива:

Пример

<?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 //Значение ключа 'hello' равно NULL, поэтому оно считается неустановленным. //Если вы хотите проверить значения ключей, равные NULL, можете попробовать метод ниже. var_dump(array_key_exists('hello', $a)); // TRUE //Обнаружение на более глубоком уровне var_dump(isset($a['pie']['a'])); // TRUE var_dump(isset($a['pie']['b'])); // FALSE var_dump(isset($a['cake']['a']['b'])); // FALSE ?>

Вывод:

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

Использование 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'])); 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'])); ?>

Вывод приведённого выше примера в PHP 5.3:

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

Вывод приведённого выше примера в PHP 5.4:

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

PHP 可用的函数Доступные функции PHP

Другие расширения