2011-03-02 3 views

ответ

18

Ну, ответ довольно прост. 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. 
3

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

+3

И такое предупреждение следует поощрять ... «объявлять» ваши проклятые переменные. –

0

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

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