2012-07-22 10 views

Odpowiedz

18

Sprawdź to:

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

Spójrz na array_splice()

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

Jeśli zdarzy ci się usunąć konkretny pierwszy element (a nie dowolny element w środku tablicy), bardziej odpowiednie jest ustawienie array_shift().

+0

+1, lepszym wyborem niż 'wyłączonym/array_values' kombi. –

+0

Dlaczego jest to lepszy wybór niż unset/array_values? Prędkość? – Bashevis

+1

@Bashevis: Istnieje przewaga prędkości, tak. Chyba jeszcze ważniejsze: jest czystsze i wyraźniejsze. 'array_slice()' jest zaprojektowany do zrobienia tego dokładnie. Nie ma wątpliwości, co się dzieje, gdy widzisz tę funkcję. 'unset(); array_values ​​(); 'wykonuje to samo, ale robi to w dwóch osobnych krokach, co zmusza czytelnika do określenia konsekwencji - tj. do wykrycia, że ​​jest to sposób na zrobienie' array_slice() '. – VoteyDisciple

Powiązane problemy