Писал вот isset($array['key']) в условии, и IDE мне сказал, что надо использовать array_key_exists('key', $array), т. к. в этом случае будет true даже если ключ присутствует, но установлен в null.
И тут я задумался: а ведь с обычными переменными isset() тоже возвращает false в случае, когда переменная была инициализирована, но установлена в null. А как тогда проверить, что переменная просто существует, хотя бы и со значением null? И чтоб при этом не вылетело всяких Notice.
Можно сделать проверку isset() а потом is_null()
Как вариант, однако на счет всяких notice не уверен.
Собственно isset() возвращает false, когда переменная установлена в NULL, так как у переменной нет значения. Логично же.
Значение null предназначено для хранения статуса "нет значения".
Imho не корректно привязываться в логике к ситуации "переменная просто существует, хотя бы и со значением null".
Соответственно используйте isset и будет Вам счастье.