Почему я должен использовать if (isset($var)) {}
а не только if ($var) {}
? Кажется, он делает то же самое и просто берет дополнительную обработку. Благодаря!
причина
Причина в том, что isset()
будет возвращать значение boolean и не выдает предупреждение при проверке существования переменной и продолжения. Кроме того, существует вероятность того, что переменная может иметь нулевые значения:
false
0
""
Но они уже будут установлены.
пример
$varb = false; $vari = 0; $vars = ""; isset($varb) // true isset($vari) // true isset($vars) // true if ($varb) // false if ($vari) // false if ($vars) // false
Вы используете isset()
чтобы проверить, объявлена ли переменная.
Другой метод проверяет, какое значение имеет значение $var
. Поэтому, если в $var
возникло false
тогда условие было бы ложным, но вы бы не указали, была ли переменная не установлена или переменная содержала false
.