$arr = ['key' => null, 'other' => 'value'];
// isset() - false для null значений!
isset($arr['key']); // false (значение null)
isset($arr['other']); // true
isset($arr['missing']); // false
// array_key_exists() - проверяет только ключ
array_key_exists('key', $arr); // true
array_key_exists('missing', $arr); // falseЕсли ключ может содержать null как допустимое значение - используйте array_key_exists(). Для большинства случаев isset() быстрее и предпочтительнее. Null coalescing: $val = $arr['key'] ?? 'default'.