Arman
кстати по оптимизации, какие нибудь советам придеживаетесь?
не знаю как сейчас, но типа раньше is_null($var) медленее $var === null, array_key_exists очень медленная штука и перед ней хорошо бы юзать isset($var)
У array_key_exists и isset разные между собой.
Если про ключи массива, то на ключ со значением null оба вернут разные результаты:
array_key_exists = true
isset = false
C другой стороны, array_key_exists ищет ключ в массиве и ему все-равно на значение. А вот isset является языковой конструкцией, потому в принципе он и быстрее чем функция)