(PHP 4 >= 4.0.6, PHP 5)
array_filter — Bir dizinin elemanlarını bir geriçağırım işleviyle süzgeçten geçirir
dizi
dizisinin her elemanını sırayla
işlev
işlevine aktarır. Eğer
işlev
TRUE
dönerse o dizi
elemanı sonuç dizisine konur, yoksa konmaz. Dizideki anahtarlar korunur.
dizi
Elemanları tek tek işleve aktarılacak dizi.
işlev
Kullanılacak geriçağırım işlevi.
Bu değiştirgede bir geriçağırım işlevi belirtilmezse,
boolean türüne
dönüşüm yapıldığında FALSE
döndüren elemanlar süzülür.
Süzülen dizi döner.
Örnek 1 - array_filter() örneği
<?php
function tek($var)
{
return($var & 1);
}
function cift($var)
{
return(!($var & 1));
}
$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);
echo " Tek:\n";
print_r(array_filter($array1, "tek"));
echo "Çift:\n";
print_r(array_filter($array2, "cift"));
?>
Yukarıdaki örneğin çıktısı:
Tek: Array ( [a] => 1 [c] => 3 [e] => 5 ) Çift: Array ( [0] => 6 [2] => 8 [4] => 10 [6] => 12 )
Örnek 2 - işlev
siz array_filter()
örneği
<?php
$girdi = array(
0 => 'foo',
1 => false,
2 => -1,
3 => null,
4 => ''
);
print_r(array_filter($girdi));
?>
Yukarıdaki örneğin çıktısı:
Array ( [0] => foo [2] => -1 )
Eğer geriçağırım işlevinde dizi değişikliğe uğrarsa (yani, elemen ekleme, silme, tanımsız yapma gibi işlemler) bu işlevin davranışı belirsizdir.