2012-07-22 11 views

risposta

18

Controllare questo:

$array = array('a', 'b','c'); 
unset($array[0]); 
$array = array_values($array); //reindexing 
13

Date un'occhiata a array_splice()

$array = array_splice($array, 0, 1); 

Se ti capita di rimuovere il primo elemento in modo specifico (e non un elemento arbitrario nel mezzo della matrice), array_shift() è più appropriato.

+0

+1, una scelta migliore di 'array_values' combo/disinserito. –

+0

Perché è una scelta migliore di unset/array_values? Velocità? – Bashevis

+1

@Bashevis: c'è un vantaggio di velocità, sì. Probabilmente ancora più importante, però: è più pulito e più chiaro. 'array_slice()' è progettato per fare questa cosa esatta. Non c'è dubbio cosa sta succedendo quando vedi quella chiamata di funzione. 'Unset(); array_values ​​(); 'compie la stessa cosa ma lo fa in due passi separati, che costringono il lettore a calcolare le conseguenze - cioè, per capire che è un modo di fare un' array_slice() '. – VoteyDisciple

Problemi correlati