English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP базовый курс

PHP продвинутый курс

PHP & MySQL

PHP справочник

PHP функция isset() примеры и использование

Доступные функции 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 только если все параметры установлены, процесс вычисления идет слева направо, и при встрече переменной, не установленной, процесс немедленно останавливается.

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

Если переменная указана и не равна NULL, то возвращается TRUE, в противном случае 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