Ho avuto una situazione in cui avevo bisogno di ottenere la prossima chiave disponibile in un array, che è il più alto + 1.
Ad esempio, se l'array è $ data = ['1' => 'qualcosa, '34' => 'qualcos'altro'], dovevo calcolare 35 per aggiungere un nuovo elemento all'array che aveva una chiave maggiore di qualsiasi degli altri. Nel caso di un array vuoto, avevo bisogno di 1 come prossima chiave disponibile.
Questa è la soluzione che ha funzionato:
$highest = 0;
foreach($data as $idx=>$dummy)
{
if($idx > $highest)$highest=$idx;
}
$highest++;
Funzionerà in tutti i casi, array vuoto o meno. Se devi solo trovare la chiave più alta anziché la chiave più alta + 1, elimina l'ultima riga. Otterrai quindi un valore di 0 se l'array è vuoto.