5.00 / 1 oy

PHP'de diziden eleman silmek

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ı.

 

PhpCoder

16.03.2021 00:11

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
PHP'de diziden eleman silmek

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.