Bu yazıda sizlere php ile dizilerden indis ve değere göre elaman silmeyi anlatacağım
Öncelikle bu işlemde kullanacağımız diziyi tanımlayarak örneğimize başlayalım.
|
1
2
3
4
5
6
7
8
|
<?php
$ornekDizi = array();
$ornekDizi[0] = ‘birinci eleman’;
$ornekDizi[1] = ‘ikinci eleman’;
$ornekDizi[2] = ‘ucuncu eleman’;
$ornekDizi[3] = ‘dorduncu eleman’;
$ornekDizi[4] = ‘besinci eleman’;
?>
|
Burada 5 elemanlı bir dizi tanımladık ve diyelim ki dizinin 3. elamanını silmek istiyoruz.
Bunun için 2 farklı yol var.
1) Dizi indis değerinden silmek
Bu örnekte kolay anlaşılması için ben köşeli parantezler arasına indisleri elle tanımladım. 3. elemanın indis değeri 2 olduğunu da açıkca görüyoruz.
Silmek için kullanmamız gereken kod oldukça basit.
|
1
2
|
unset($ornekDizi[2]); #2 indislik elemanı sildik
$ornekDizi = array_values($ornekDizi); #indis degerlerini tekrar duzenledik
|
Silme işlemi tamamlandı.
2) Dizinin içindeki veriye bakarak silmek
Bunun için ilk akla gelen şüphesiz ki foreach vs kullanarak tek tek tarama olabilir.
Fakat biz sol kulağımızı direk sol elimizle tutalım sağ elimizi hiç yormayalım.
Sileceğimiz dizi elamın değeri ucuncu eleman. Silmek için ise alttaki kodu kullanıyoruz.
|
1
|
$ornekDizi = array_values(array_diff($ornekDizi, array(‘ucuncu eleman’)));
|
Bu işlemlerden sonra dizimizin son hali alttaki gibi olacaktır.
