2009-12-31 2 views
9

Я имею в виду ... Я «устанавливаю» его в NULL. Так isset ($ somethingNULL) == true?Будет ли isset() возвращать false, если я назначаю NULL переменной?

+19

почему вы не пробовали сами? – Flatlin3

+4

Потребовалось бы меньше времени для тестирования, чем задавать вопрос. Вы даже набрали код, необходимый для проверки вашего вопроса в самом вопросе. – meagar

+0

теперь вы знаете, что вам нужно искать http://php.net/manual/ для справочной документации по php, связанные с вопросами :) –

ответ

23
bool isset (mixed $var [, mixed $var [, $... ]]) 

Определить, если переменная задана и не NULL.

Если переменная была отключена с помощью функции unset(), она больше не будет установлена. isset() вернет FALSE, если тестирует переменную, которая была установлена ​​в NULL. Также обратите внимание, что NULL-байт («\ 0») не эквивалентен константе PHP NULL.

Возвращаемые значения

Возвращает TRUE, если переменная существует и имеет значение, отличное от NULL, FALSE в противном случае.

От manual. Examples на той же странице.

+7

Итак, как я могу проверить существование массива? Прежде чем найти этот вопрос, я думал, что 'isset' возвращает' true' для 'null' переменных/ключей. –

+2

@ TomášZato Используйте [array_key_exists()] (http://php.net/manual/en/function.array-key-exists.php) вместо этого. – Rob

19

Да - от ISSET() documentation:

$foo = NULL; 
var_dump(isset($foo)); // FALSE 

/* Array example */ 
$a = array ('test' => 1, 'hello' => NULL); 

var_dump(isset($a['test']));   // TRUE 
var_dump(isset($a['foo']));    // FALSE 
var_dump(isset($a['hello']));   // FALSE 
+0

Демонстрация того, как проверить его самостоятельно? Возьмитесь за вас, сэр. – mozillalives

+0

Скорее скопируйте документ как я: D Но мы делаем это, чтобы избежать просто ссылки на случай, если он даст 404 после (вряд ли произойдет с php.net) –

Смежные вопросы