Конструкция 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-скрипты

Оставить комментарий