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

Форум для тех кто начинает осваивать язык php.
Аватара пользователя
Slash
Администратор
Сообщения: 2031
Поблагодарили: 62 раза

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

Сообщение 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() (Сравнение)
Реклама

Вернуться в «PHP»

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

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