fixxxer
Ой, да ладно тебе отрываться беспочвенно.
а так?
PHP:
isset2("d", $_POST); // и при чем здесь глобалз? )
Я ж, так надеюсь, что ты читаешь и вдумываешься в ответы других, а не просто плюешься постами на отшибись, поэтому уточни-ка, пожалуйста: что ты имеешь ввиду, когда говоришь, что проблематично узнать null или undefined? Вдумчиво, и подумай еще раз. Лучше глядя на предоставленную мною выше функцию isset2.
Расширим пример, приписав далее:
PHP:
unset ($d);
echo "\nunset($d), d is ";
echo isset2("d") ? "defined" : "undefined";
--- Updated
Заметил сам у себя ошибку, которая не касается вопроса напрямую, но ошибка есть.
В варианте выше возможно игнорирование второго параметра и использование вместо него $GLOBALS (если он не массив) , что логически не верно.
Поправил:
PHP:
function isset2($varName, $baseArray=NULL) {
if ($baseArray === NULL) $baseArray = &$GLOBALS ;
if ( !is_array($baseArray) ) return false;
return array_key_exists($varName, $baseArray) ? true : false;
}