У меня была ситуация, когда мне нужно было получить следующий доступный ключ в массиве, который является максимальным + 1.
Например, если массив равен $ data = ['1' => 'something, '34' => 'something else'], то мне нужно было вычислить 35, чтобы добавить новый элемент в массив, у которого был ключ выше любого из других. В случае пустого массива мне понадобилась 1 в качестве следующего доступного ключа.
Это решение, которое сработало:
$highest = 0;
foreach($data as $idx=>$dummy)
{
if($idx > $highest)$highest=$idx;
}
$highest++;
Он будет работать во всех случаях, пустой массив или нет. Если вам нужно найти только самый высокий ключ, а не самый высокий ключ + 1, удалите последнюю строку. Затем вы получите значение 0, если массив пуст.