Проверка переменной

Статус
В этой теме нельзя размещать новые ответы.

sidor

Старатель
Регистрация
7 Июн 2006
Сообщения
220
Реакции
14
Часто вижу код вида:
PHP:
if (isset($value) && !empty($value)) {
......
}

Объясните мне пожалуйста зачем проверять присутствие переменной, если можно оставить в условии только !empty.
 
isset проверяет существование переменной, а empty проверяет ее на пустоту!
 
Есть еще маленький ньюанс
если у тебя переменная равно 0 то empty() выдаст true...
 
Тебе достаточно проверять !empty($value), оно уже включает в себя isset($value)
 
Тебе достаточно проверять !empty($value), оно уже включает в себя isset($value)
Недостаточно. Простой пример:
PHP:
$x = 0;
if(!empty($x)) echo 'empty';
if(isset($x)) echo 'isset';
Выдаст isset

PHP:
$x = '';
if(!empty($x)) echo 'empty';
if(isset($x)) echo 'isset';
Выдаст isset

Таким образом, если переменная равна нулю или представлена в виде пустой строки, она пуста, но тем не менее объявлена. Проверять нужно и так и так в зависимости от поставленной задачи.
 
проверять на empty нужно только когда ожидаешь "дополнительных" данных. на isset - обязательные данные.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху