array_filter Fonksiyonu
array_filter fonksiyonu, bir diziyi
belirtilen fonksiyonla filtreler. Fonksiyonun parametresine
sırayla dizi elemanları geçirilir
ve, eğer fonksiyon bu eleman için
true döndürürse - eleman dizide kalır, eğer
false döndürürse - kaldırılır. Dizide sadece
fonksiyonun true döndürdüğü elemanlar
kalır.
Eğer orijinal dizi ilişkisel bir dizi ise, anahtarları korunur.
Sözdizimi
array_filter(array $array, ?callable $callback = null, int $mode = 0): array
Örnek
Dizide sadece pozitif elemanları bırakalım:
<?php
function func($num)
{
if ($num >= 0) {
return true;
} else {
return false;
}
}
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, 'func');
var_dump($res);
?>
Kodun çalıştırılmasının sonucu:
[1, 2, 3]
Örnek
Koşulu kısaltalım:
<?php
function func($num)
{
return $num >= 0;
}
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, 'func');
var_dump($res);
?>
Kodun çalıştırılmasının sonucu:
[1, 2, 3]
Örnek
Anonim fonksiyona dönüştürelim:
<?php
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, function($num) {
return $num >= 0;
});
var_dump($res);
?>
Kodun çalıştırılmasının sonucu:
[1, 2, 3]
Örnek
Ok fonksiyonuna dönüştürelim:
<?php
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, fn($num) => $num >= 0);
var_dump($res);
?>
Kodun çalıştırılmasının sonucu:
[1, 2, 3]
Ayrıca Bakınız
-
array_mapfonksiyonu,
dizi elemanlarına fonksiyon uygular -
array_walkfonksiyonu,
dizi elemanları için fonksiyon çağırır -
array_walk_recursivefonksiyonu,
dizi elemanları için özyinelemeli olarak fonksiyon çağırır -
array_reducefonksiyonu,
bir diziyi indirger