Come prendere il primo elemento di un’array PHP.

Come ottenere il primo elemento di un array? E tra tutti i modi possibili, qual è il migliore?

Partiamo da quest’array:

array( 4 => 'apple', 7 => 'orange', 13 => 'plum' )

Noi in questo caso, vogliamo ottenere ‘apple’.

4 Modi per ottenere il primo elemento di un’array php

1. array_shift()

Utilizzare array_shift() è sicuramente la prima cosa che ci potrebbe venire in mente, ma “costa” O(n), ovvero legge tutti gli elemente dell’array prima di restituire il risultato.

array_shift(array_values($array));

Per array di grandi dimensioni non è sicuramente la soluzione migliore.

2. array_pop() e array_reverse()

Utilizzare array_pop() combinato ad’array_reverse() è una soluzione che spreca meno risorse, infatti è O(1) ovvero il “costo” dell’operazione è costante al di là della grandezza dell’array.

array_pop(array_reverse($array));

Sicuramente il metodo più efficente.

3. Altre opzioni:

Se la modifica (nel senso di reimpostare i puntatori di array) di $array non è un problema, potresti usare:

reset($array);

reset() riavvolge il puntatore interno dell’array al primo elemento e restituisce il valore del primo elemento dell’array, o FALSE se l’array è vuoto.


Questo dovrebbe essere teoricamente più efficiente, se è necessaria una “copia” di array:

array_shift(array_slice($array, 0, 1));

Con PHP 5.4+ (ma potrebbe causare un index error se vuoto):

array_values($array)[0];

Lascia un commento