Проверка переменных в PHP

2 минуты на чтение

Проверка переменных позволяет избежать множества ошибок при выполнении кода и сберечь нервы. Очень часто для проверки переменной ее подставляют в качестве выражения условного оператора, что не является полноценной проверкой и не обезопасит от появления ошибок.

Переменные в PHP

Переменная PHP может находиться в одном из следующих состояний:

  1. не определена,
  2. определена, но не имеет значения (пустая),
  3. определена и имеет значение.

$var

Если в качестве условия использовать саму переменную, условие выполнится только если переменная определена и имеет значение, отличное от нулевого (не 0,не пустая строка, не пустой массив)

is_null()

Данная функция вернет true, если переменная не определена (или была удалена с помощью unset()), или переменной присвоена константа NULL. В остальных случаях функция вернет false.

isset()

Данная функция является противоположностью is_null(), определяет была ли установлена переменная со значением не равным NULL.

Вернет false для неопределенной переменной и переменной с установленным значением NULL.

empty()

Функция проверяет переменные на пустоту. Пустыми считаются неопределенные переменные, переменные с установленным значением NULL, с числовым значение 0, строки содержащие символ 0, а также пустые строки и незаполненные массивы.

Функция по сути проверяет следующее выражение:

empty($var) === (!isset($var) || $var==false)

Итоги

Ниже для удобства сравнения приведена сравнительная таблица:

 $varis_null($var)isset($var)empty($var)
неопределенная переменнаяfalsetruefalsetrue
NULLfalsetruefalsetrue
0falsefalsetruetrue
"0" - строка со значением 0falsefalsetruetrue
'' - пустая строкаfalsefalsetruetrue
' ' - строка из пробелаtruefalsetruefalse
array() - пустой массивfalsefalsetruetrue
FALSEfalsefalsetruetrue
123truefalsetruefalse
"непустая строка"truefalsetruefalse
array("1","Второй", 3)truefalsetruefalse
TRUEtruefalsetruefalse

 

Facebook Vk Ok Twitter Telegram

Похожие записи:

В Javascript (ES6) появились новые способы объявления переменных, помимо var: через let и const. Рассмотрим разницу между данными операторами, особенности и область их применения. Содержание var let const var На сегодняшний день var – это рабочий, но уже уст...
После перехода на PHPStorm  оказалось, что многие привычные комбинации горячих клавиш там не работают, или выполняют совершенно другие действия по умолчанию. Взять хотя бы “redo” (ctrl+Y в большинстве программ), в PHPStorm данная комбинация удаляет строку, что...
Начиная с версии 5.3 в состав Laravel входит Vue. Данный JS фреймворк в последнее время набирает популярность, отчасти благодаря тому что он входит в состав популярного PHP фреймворка Laravel, также данный JS фреймворк активно развивается и является мощным и р...