array_filter()
fonksiyonu, bir diziyi belirli bir kriteri karşılayan öğelerle filtrelemek için kullanılan bir PHP fonksiyonudur. Bu fonksiyon, belirli bir callback işlevini kullanarak diziyi filtreler ve sadece belirtilen koşulu sağlayan öğeleri içeren yeni bir dizi döndürür.
İşte array_filter()
fonksiyonunun kullanımına dair bir örnek:
<?php
// Bir dizi oluşturalım
$dizi = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// array_filter() fonksiyonunu kullanarak diziyi filtreleyelim
$filtrelenmis_dizi = array_filter($dizi, function($sayi) {
// 3'e tam bölünebilen sayıları filtreleyelim
return ($sayi % 3 == 0);
});
// Elde edilen filtrelenmiş diziyi ekrana yazdıralım
print_r($filtrelenmis_dizi);
?>
Bu örnekte, array_filter($dizi, function($sayi) { return ($sayi % 3 == 0); })
ifadesi, $dizi
dizisini filtreler ve 3'e tam bölünebilen öğeleri içeren bir dizi oluşturur. Çıktı şu şekildedir:
Array
(
[2] => 3
[5] => 6
[8] => 9
)
Fonksiyonun genel formatı şu şekildedir:
array_filter(array $dizi, callable $callback = null, int $flag = 0)
$dizi
: Filtrenecek olan dizi.$callback
: Bir öğeyi test etmek için kullanılan geri çağrı işlevi. Belirtilmezse, boş veya null olarak kabul edilir ve tüm boş veya false değerli öğeleri kaldırır.$flag
: İsteğe bağlı olarak, geri çağrı işlevini uygulamak için kullanılacak olan bir flağ. Örneğin,ARRAY_FILTER_USE_KEY
veyaARRAY_FILTER_USE_BOTH
. Varsayılan olarak 0'dır.
Geri çağrı işlevi, her öğe üzerinde çalıştırılır ve true dönen öğeler filtrelenmiş diziye dahil edilir.