PHP: Array’in boş elemanlarını atmak
Diyelim ki elimize aşağıdaki gibi bir array geldi ve bu array’in boş olan elemanlarını atarak sadece dolu olan elemanları almak istiyoruz.
-
//çıktısı:
-
/* Array (
-
[0] => 2008.12
-
[1] => 17:44:44
-
[2] =>
-
[3] => 36
-
[4] => Ankara
-
[5] =>
-
[6] => 35.51
-
[7] =>
-
[8] =>
-
[9] =>
-
[10] =>
-
[11] =>
-
[12] =>
-
[13] => 12
-
) */
-
Normalde bunu bir foreach çevirerek sadece dolu değerlerleri (empty ile kontrol edebiliriz) yeni bir array’e atarak yapabiliriz.
Ancak bu işlemi sadece tek bir satırda yapacak çok güzel bir fonksiyon var: array_filter()
-
-
<?php
-
$sampleArray = array_filter($sampleArray);
-
//çıktısı:
-
/* Array (
-
[0] => 2008.12
-
[1] => 17:44:44
-
[3] => 36
-
[4] => Ankara
-
[6] => 35.51
-
[13] => 12
-
) */
-
?>
-
-
Ek bilgiler:
* Bu fonksiyona siz kendiniz ikinci bir parametre olarak bir callback fonksiyon vererek filtreleme sağlayabilirsiniz.
* Eğer callback fonksiyonu vermezseniz, yukarıdaki örnekteki gibi boş elemanları atıp sadece dolu elemanları bırakacak.
* NULL, ” “, false vb. değerler de boş sayılıp atılıyor.
Detaylı bilgi PHP manual’inde:
http://tr2.php.net/manual/en/function.array-filter.php