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

Тема в разделе "PHP", создана пользователем sidor, 9 мар 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. sidor

    sidor

    Регистр.:
    7 июн 2006
    Сообщения:
    220
    Симпатии:
    14
    Часто вижу код вида:
    PHP:
    if (isset($value) && !empty($value)) {
    ......
    }
    Объясните мне пожалуйста зачем проверять присутствие переменной, если можно оставить в условии только !empty.
     
  2. Acidrayne

    Acidrayne

    Регистр.:
    30 сен 2007
    Сообщения:
    296
    Симпатии:
    20
    isset проверяет существование переменной, а empty проверяет ее на пустоту!
     
  3. GrizliK

    GrizliK Создатель

    Регистр.:
    4 сен 2009
    Сообщения:
    47
    Симпатии:
    3
    Есть еще маленький ньюанс
    если у тебя переменная равно 0 то empty() выдаст true...
     
    sidor нравится это.
  4. pslava

    pslava

    Регистр.:
    16 май 2007
    Сообщения:
    618
    Симпатии:
    122
    Тебе достаточно проверять !empty($value), оно уже включает в себя isset($value)
     
  5. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    Недостаточно. Простой пример:
    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

    Таким образом, если переменная равна нулю или представлена в виде пустой строки, она пуста, но тем не менее объявлена. Проверять нужно и так и так в зависимости от поставленной задачи.
     
  6. Stern87

    Stern87 Создатель

    Регистр.:
    8 дек 2007
    Сообщения:
    15
    Симпатии:
    1
    проверять на empty нужно только когда ожидаешь "дополнительных" данных. на isset - обязательные данные.
     
Статус темы:
Закрыта.