Чтобы улучшить решение Webmut , я добавил следующее решение:
$firstKey = array_keys(array_slice($array, 0, 1, TRUE))[0];
Вывод для меня на PHP 7.1:
foreach to get first key and value: 0.048566102981567 seconds
reset+key to get first key and value: 0.11727809906006 seconds
reset+key to get first key: 0.11707186698914 seconds
array_keys to get first key: 0.53917098045349 seconds
array_slice to get first key: 0.2494580745697 seconds
Если я сделаю это для массива размером 10000, то результат будет
foreach to get first key and value: 0.048488140106201 seconds
reset+key to get first key and value: 0.12659382820129 seconds
reset+key to get first key: 0.12248802185059 seconds
array_slice to get first key: 0.25442600250244 seconds
Время выполнения метода array_keys составляет 30 секунд (при использовании только 1000 элементов время для остальных операций было примерно таким же, но у метода array_keys было около 7,5 секунд).