PHP'de dizilerle ilgili temel işlemleri önceki günlerde tamamlamıştık, geriye sadece dizi elemanlarını silmek kaldı.
bkz: PHP'de Dizi Elemanlarını Yazdırmak
bkz: PHP'de boş dizi tanımlamak
bkz: PHP'de dizi elemanının değerini güncellemek
bkz: PHP'de foreach döngüsü kullanımı ve örnekleri
bkz: PHP'de Dizi Tanımlamak (Yeni Vektör ya da Matris Eklemek)
bkz: PHP'de diziye eleman eklemek
bkz: PHP'de ilişkisel dizi kullanımı
PHP'de iki farklı tür dizi olduğunu görmüştük:
- index bazlı diziler (key'ler otomatik atanan tamsayılardır)
- key ve value çiftlerini kendimiz belirleyebildiğimiz ilişkisel diziler
PHP'de bir dizi elemanını silmek için unset fonksiyonu kullanılır. Örneğin aşağıdaki diziye 3 eleman ekleyelim ve sonra da son elemanı silelim.
<?php
$dizi = [1, 5, 10, 15, 20];
var_dump($dizi);
//array(5) { [0]=> int(1) [1]=> int(5) [2]=> int(10) [3]=> int(15) [4]=> int(20) }
echo "<br>";
unset ($dizi[2]); //10'u sildik
var_dump($dizi);
//array(4) { [0]=> int(1) [1]=> int(5) [3]=> int(15) [4]=> int(20) }
?>
2 indisli dizi elemannı unset ile sildiğimizde yeni dizi elemanları çıktısını aşağıda görebiliyoruz. Peki ya son elemanını sildiğimiz bir diziye sonra yeni eleman eklersek index bazlı bir dizide son eklenen elemanın index'i ne olur?
<?php
$dizi = [1, 5, 10, 15, 20];
unset ($dizi[4]); //20'yi sildik
$dizi[] = 5;
var_dump($dizi);
?>
Çıktı:
array(5) { [0]=> int(1) [1]=> int(5) [2]=> int(10) [3]=> int(15) [5]=> int(5) }
Sonuç: Son indisi (4) silinen bir diziye yeni bir eleman eklediğimizde 4 numaralı indiste artık bir eleman saklanmıyor olsa da yeni eleman 5. index ile başladı.