2012-07-22 15 views

cevap

18

Kontrol bu: unset sonrası

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

array_splice()

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

bir göz atın İlk elemanı özel olarak kaldırıyorsanız (ve dizinin ortasındaki isteğe bağlı bir öğe değil), array_shift() daha uygundur.

+0

1, 'unset/array_values' açılan daha iyi bir seçim. –

+0

Neden bu, unset/array_values ​​öğesinden daha iyi bir seçimdir? Hız? – Bashevis

+1

@Bashevis: Bir hız avantajı var, evet. Yine de daha da önemlisi: daha temiz ve daha açık. 'array_slice()' bu şeyi yapmak için tasarlanmıştır. Bu fonksiyon çağrısını gördüğünüzde ne olduğu sorusu yok. 'Sertleşmemiş(); array_values ​​(); 'aynı şeyi başarır, ancak okuyucuyu sonuçların çalışmasına zorlayan iki ayrı adımda gerçekleştirir - yani, bunun bir array_slice()' yi yapmanın bir yolu olduğunu anlamaya çalışır. – VoteyDisciple

İlgili konular