Bir PHP dizisindeki boş elemanları silmek için iki farklı yöntem kullanarak kaldırabilirsiniz. Bu yazıda bu iki yönteme de yer verilecektir.
1 2 3 |
$dizi =[10,5,40,NULL,50,NULL,25,35]; |
Yukarıdaki şekilde bir diziye sahip olduğumuzu düşünelim. Bu dizideki NULL olan değerleri kaldırmak için aşağıdaki yöntemleri kullabiliriz.
Yöntem 1: unset() kullanarak boş olan öğeleri kaldırma
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php $dizi =[10,5,40,NULL,50,NULL,25,35]; $uzunluk = count($dizi); for($i=0;$i<$uzunluk;$i++){ if($dizi[$i]==NULL) unset($dizi[$i]); } //ekrana yazdırma echo "<pre>"; print_r($dizi); |
Çıktı: Aşağıdaki çıktıda göründüğü gibi NULL olan değerler index numaraları ile birlikte kaldırılmıştır.
1 2 3 4 5 6 7 8 9 10 11 |
Array ( [0] => 10 [1] => 5 [2] => 40 [4] => 50 [6] => 25 [7] => 35 ) |
Yöntem 2: array_filter() yerleşik fonksiyonu kullanarak boş olan değerleri rahatlıkla kaldırabilirsiniz. Yukarıdaki algoritmik yöntemin aksine bu yöntem çok daha basit ve kullanışlıdır.
1 2 3 4 5 6 7 8 9 10 |
<?php $dizi =[10,5,40,NULL,50,NULL,25,35]; $dizi2 = array_filter($dizi); //ekrana yazdırma echo "<pre>"; print_r($dizi2); |
Çıktı:
1 2 3 4 5 6 7 8 9 10 11 |
Array ( [0] => 10 [1] => 5 [2] => 40 [4] => 50 [6] => 25 [7] => 35 ) |
faydalı