В чем разница между if (! Variable) и if (isset ($ variable))?

В чем разница между if (! Variable) и if (isset ($ variable))?

Ну, ответ довольно прост. isset ($ var) возвращает, существует или нет переменная, и не имеет значения null, где! $ var сообщает вам, является ли эта переменная истиной или что-то, что оценивается как true (например, строка). Кроме того, использование! $ Var выводит уведомление о том, что вы используете неопределенную переменную, тогда как 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. 

Если переменная не установлена, вы получите предупреждение при использовании if (! Variable).

Это два разных утверждения

  1. в первом вы проверяете, является ли переменная ложной, следовательно, '!'
  2. здесь вы проверяете, действительно ли переменная установлена ​​на какое-то значение, отличное от нуля.