Пример Empty (PHP) - почему и как?

16.08.2014 / PHP

PHPОдна из самых часто используемых конструкций языка, но при этом много раз видел неправильно использование этой конструкции при всей ее простоте для понимания.



Для чего нужна конструкция empty в языке PHP? Empty() используется для проверки элементов на существования значения в переменной, при этом на проверка на значение отличное от null, 0, '' и тд. При этом выполняется проверка и на существование самой переменной, элемента, объекта. И самая частая ошибка при ее использовании это использование ее вместе с конструкцией isset:


  1. if(isset($element['name']) AND !empty($element['name']))


В итоге получается, что Вы выполняете лишнюю проверку, так как проверка на empty включает себе проверку и на isset.

Еще один важный момент и наверное самый важный, заключается он в том, что использовать данную конструкцию необходимо в случае проверки вложенных элементов (массив или объект), когда возможна генерация ошибки в случае его отсутствия (к примеру E_NOTICE).

Постараюсь объяснить на примере:


  1. if(!empty($name))


и


  1. if($name)


Эти примеры эквивалентны и использовать первый вариант нужно только в том случае если уровень ваших ошибок настроен таким образом, что без объявления переменной так же генерируется ошибка.


Конструкция empty по своему подавляет ошибки (E_NOTICE), при этом генерация ошибок не выполняется, что положительно сказывается на производительности скрипта.


Правильное использование:


  1. if(!empty($element['name']))


Неправильная проверка

  1.  
  2. if($element['name'])


Почему второй вариант не правильный? Потому что в случае не существования элемента массива name, будет сгенерирована ошибка E_NOTICE, ВНИМАНИЕ даже если вывод ошибок отключен. Поэтому правильно и использовать первый вариант.


На последок хочу обратить Ваше внимание на то, что в версии PHP 5.4 немного изменено привычное поведение конструкции, советую почитать официальную документацию.


Скачать пример PHP EMPTY

 

рекомендуемые программы

Случайные статьи