Разница между empty() и isset() (Сравнение)

Форум для тех кто начинает осваивать язык php.
Аватара пользователя
Slash
Администратор
Сообщения: 2207
Зарегистрирован: Сб авг 11, 2012 7:39 am
Поблагодарили: 81 раз

Разница между empty() и isset() (Сравнение)

#1

Сообщение Slash » Ср янв 29, 2014 2:16 pm

Здравствуйте.
Если Вы читаете этот пост, значит Вы, как и я когда то задавался вопросом: чем отличаются empty() и isset()? Ведь по идеи они выполняют одну и туже функцию, что isset() - проверяет, установлена ли переменная, что empty() - проверяет, установлена ли переменная. Но как оказалась, разница между ними все же есть!
Давайте рассмотрим два примера. Первый пример, с использованием isset():

Код: Выделить всё

<?php
$danfa = 0;
if (isset($danfa)) 
{
    echo 'Переменная $danfa в любом случаи будет определена, даже если она пустая';
}
?>
Второй пример, с использованием empty():

Код: Выделить всё

<?php
$danfa = 0;
if (empty($danfa)) 
{
    echo 'Переменная $danfa либо имеет значение 0, либо пусто, или вообще не определена';
}
?>
То есть isset() - принимает значение true, потому что переменная $danfa определена, а empty() - принимает значение true, потому что переменная $danfa пуста или неопределенна.

Читайте ещё: Разница между echo() и print() (Сравнение)

Реклама

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей