PHP - isset() против empty() и is_null()
PHP имеет различные функции, которые можно использовать для проверки значения переменной. Тремя основными функциями для этого являются isset(), empty() и is_null(). Все эти функции возвращают логическое значение. Если эти функции не используются в правильном контексте, то они могут привести к неожиданным результатам.
PHP имеет различные функции, которые можно использовать для проверки значения переменной.
Тремя основными функциями для этого являются isset(), empty() и is_null(). Все эти функции возвращают логическое значение. Если эти функции не используются в правильном контексте, то они могут привести к неожиданным результатам.
isset() и empty() часто рассматриваются как функции, которые противоположны, однако это не всегда так.
В этой статье я объясню различия между этими функциями:
isset() - Определяет, переменная установлена и не NULL. Другими словами, она возвращает верно только тогда, когда переменная не нуль
empty() - Определяет, является ли переменная пустой. Другими словами, она будет возвращать верно , если переменная является пустой строкой, ложь, массив(), NULL, "0?, 0, и задана переменная
is_null() - Определяет, является ли переменная NULL. Другими словами, она возвращает верно только тогда, когда переменная является NULL. is_null () является противоположностью Isset ().
В приведенной ниже таблице показано то, что эти функции будут возвращать для различных значений. Пустые пространства означает функция возвращает логическое значение (ложные) .
Значение переменной ($var) | isset($var) | empty($var) | is_null($var) |
“” (Пустая строка) | bool(true) | bool(true) | |
” ” (Пробел) | bool(true) | ||
FALSE | bool(true) | bool(true) | |
TRUE | bool(true) | ||
array() (Пустой массив) | bool(true) | bool(true) | |
NULL | bool(true) | bool(true) | |
“0″ (0 как строка) | bool(true) | bool(true) | |
0 (0 как числи) | bool(true) | bool(true) | |
0.0 (0 как дробное) | bool(true) | bool(true) | |
var $var; (переменная объявлена, но не имеет значение) | bool(true) | bool(true) | |
NULL byte (“ 0″) | bool(true) |