isset при NULL

HraKK

Мудак
Команда форума
isset при NULL

Навеял сегодняшний разговор. Извините за абстрактность проблемы, но она возникла у одного челоека, я понимаю где и как ее можно решить. Но все же.

Представте себе ситуацию когда у нас может быть переменая $var или не определена или иметь значемние NULL.
И надо проверить какая же их этих 2 ситуаций у нас.
isset в любом случии будет false.
is_null при неопределенности выдаст notice.

Варианты?
 

HraKK

Мудак
Команда форума
я бы сказал кто сабака. ага?
@ замедляет работу, легче отключить вывод ошибок. Но все равно это идиологически не правильно.
 

Wicked

Новичок
исключить ситуацию, когда переменная может быть неопределена вообще
 

HraKK

Мудак
Команда форума
Я расматриваю такой вариант какой есть. Исключить - это верное решение. Но мне кажется что isset неверно себя ведет.
 

Wicked

Новичок
несомненно. Так же, как и многое другое в нашем любимом языке программирования :)
 

HraKK

Мудак
Команда форума
хорошо, а то я уже усомнился в своей адекватности после 4 дней бесоного программирования.. Всем спасибо.
 

Crazy

Developer
Автор оригинала: HraKK
@ замедляет работу
Два вопроса:

1. На сколько процентов замедляет в данной конструкции?
2. На сколько процентов замедлит в скрипте на 10-20k без обращения к БД?
 

HraKK

Мудак
Команда форума
Мы боремся закаждую милисекунду(с) admin
 

HraKK

Мудак
Команда форума
Crazy
Читай внимательно - ситация абстрактная решение верное
определять переменную.
А вы ставьте @ где хотите, проблему можно решать не только в лоб.
 

Crazy

Developer
Автор оригинала: HraKK
Crazy
определять переменную.
Спасибо, я так и делаю.

А вы ставьте @ где хотите, проблему можно решать не только в лоб.
А... Ну если нужно непременно на лыжах и в гамаке, то это действительно не ко мне. Но с удовольствием послежу за темой. Люблю смотреть на извращения. :)
 

Гравицапа

elbirret elcno
HraKK,

Crazy правильное замечание сделал и твой пост последний не совсем корректен.
 

HraKK

Мудак
Команда форума
svetasmirnova
+1. Спасибо, но это не совсем решит проблему оно тоже не верно изза того что описал Crazy
Но интересно.

А вообще меня не интересует решение, меня интресует поведение isset
 

Unkind

Новичок
Несколько уродливое решение все же есть.

PHP:
<?php
$var = NULL;
var_dump(array_key_exists("var", $GLOBALS));
?>
 

Crazy

Developer
осталось осознать существование локальных переменных...
 

Unkind

Новичок
Интересно, причем тут локальные переменные? Мы вроде о подпрограммах не говорили.
 
Сверху