Можно создать дубликат:
Check if value isset and nullPHP нулевой вар существует
Если у меня есть $v = NULL;
, как я могу проверить, что $v
это существует, и это NULL
?
isset($v) => false //because of NULL, but $v exists
Можно создать дубликат:
Check if value isset and nullPHP нулевой вар существует
Если у меня есть $v = NULL;
, как я могу проверить, что $v
это существует, и это NULL
?
isset($v) => false //because of NULL, but $v exists
Вы не можете, null
эквивалентно несуществующей переменной:
переменная считается нулевым, если:
- он был назначен постоянный
NULL
.- еще не настроен.
- было
unset()
.
только для массивов, вы можете проверить, существует ли ключ, хотя его значение null
с помощью array_key_exists
.
Пробег: is_null($v)
.
, если $ v не существует, он вернет предупреждение. – Yekver
@Yekver вам нужно будет объединить оба. –
@ Xeon06 Как бы вы это сделали? Что касается 'isset()' и 'is_null()', то они неразличимы. – NullUserException
Если вы хотите, чтобы поставить все это вместе, чтобы проверить наличие и нулевое значение
<?php
if(!is_null($v)){
// do something
}
?>
Вы должны быть осторожны при использовании isset
на переменных, которые могут быть null
. Это хороший способ настроить себя на ошибки и проблемы в будущем.
Что вы можете сделать сейчас, это использовать is_null
в качестве дополнительного теста.
+1 Этот ответ более правильный, чем другие, поскольку он касается обеих частей вопроса ($ v существует AND равно null). –
Спасибо, это действительно помогает. – Yekver
Эмм, как насчет использования 'array_key_exists' с' $ GLOBALS'? http://www.php.net/manual/en/reserved.variables.globals.php – kirilloid