as far as i know about both functions ,both are having very small difference array_key_exists use after check it is an array or not (means we need to make sure it is in array format or not) but in isset we don't need to do anything else
(by isset directly you can check any type ).
i most like isset
and error reporting off is not good