Какая разница между if (! Variable) и if (isset ($ variable))?
Какая разница между if (! Variable) и if (isset ($ variable))?
Ответ 1
Ну, ответ довольно прост. isset ($ var) возвращает, существует или нет переменная, и не имеет значения null, где! $var сообщает вам, является ли эта переменная истиной или что-то, что оценивается как true (например, строка). Кроме того, используя! $Var выведет уведомление о том, что вы используете переменную undefined, тогда как isset этого не сделает.
Имейте в виду: это две разные вещи:
<?php
var_dump( isset( $foo ) ); // false.
var_dump( !$foo ); // true, but with a warning.
$foo = false;
var_dump( isset( $foo ) ); // true
var_dump( !$foo ); // true.
Ответ 2
Если переменная не установлена, вы получите предупреждение при использовании if (! Variable).
Ответ 3
Это два разных оператора
- в первом случае вы проверяете, является ли переменная ложной, а значит, '!'
- здесь вы проверяете, действительно ли переменная установлена на другое значение, отличное от null.