Конструкция PHP isset().
Конструкция PHP isset() проверяет «установлена» ли переменная. Возвращает TRUE, если переменная установлена и FALSE, если нет (NULL).
Обратите внимание, что это именно конструкция языка PHP, а не функция, поэтому она не может быть использована в качестве параметра какой-либо функции.
Также нужно отметить, что функция работает с переменными, но не предназначена для проверки констант. Чтобы определить, задана ли константа, используйте defined().
Общий синтаксис:
1 |
bool isset (mixed $var [, mixed $... ] ) |
В скобках указывается имя переменной, которую необходимо проверить. Если нужно проверить несколько переменных, то их можно перечислить через запятую. При этом конструкция вернет TRUE только в том случае, если установлены все перечисленные переменные.
Пример 1.
1 2 3 4 5 6 7 8 |
<?php $my_var = "тест"; if(isset($my_var)){ echo "Переменная установлена"; }else{ echo "Переменная не установлена"; } ?> |
В этом примере будет выведено «Переменная установлена».
1 2 3 4 5 6 7 8 9 |
<?php $var = "тест"; unset($var); if(isset($var)){ echo "Переменная установлена"; }else{ echo "Переменная не установлена"; } ?> |
Пример 2. Зададим значение для переменной и удалим ее.
1 2 3 4 5 6 7 8 9 |
<?php $var = "тест"; unset($var); if(isset($var)){ echo "Переменная установлена"; }else{ echo "Переменная не установлена"; } ?> |
Получим «Переменная не установлена».
Пример 3. Проверка нескольких переменных:
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $var1 = "тест"; $var2 = "тест 2"; $var3 = "тест 3"; unset($var3); if(isset($var1, $var2, $var3)){ echo "Все переменные установлены"; }else{ echo "Не все переменные установлены"; } ?> |
Будет выведено «Не все переменные установлены».
Пример 4. Проверка элементов массива:
1 2 3 4 5 6 7 |
<?php $my_array = array ('product' => 'milk', 'price' => NULL, 'num' => 1); var_dump(isset($my_array['product']));// TRUE var_dump(isset($my_array['price'])); // FALSE var_dump(isset($my_array['num'])); // TRUE ?> |
Как видно из данного примера, несмотря на то, что в массиве существует элемент с ключом «price», проверка возвращает FALSE, поскольку значение данного элемента NULL. В таких случаях, чтобы проверить, что элемент с указанным индексом существует, целесообразнее использовать функцию array_key_exists():
1 2 3 4 |
<?php $my_array = array ('product' => 'milk', 'price' => NULL, 'num' => 1); var_dump(array_key_exists('price', $my_array)); // TRUE ?> |
Другие посты
Категория: PHP-скрипты