isset() liefert bei NULL-Werten ein false, obwohl die Variable existiert, denn es ist definiert als "Determine if a variable is set and is not NULL".
array_key_exists() hingegen arbeitet so wie der Name es verspricht.
Danke für die Korrektur, ich hab das wohl verdreht ;) ich hätte es nochmal nachlesen sollen, war ja ohnehin verlinkt :p