array_filter
funkcja
Filtruje elementy tablicy według podanego warunku. Bez callbacku usuwa wartości fałszywe. Zachowuje oryginalne klucze.
array_filter(array $array, ?callable $callback = null, int $mode = 0): array
array_filter przechodzi przez każdy element $array i zachowuje te, dla których $callback zwraca true. Oryginalna tablica nie jest modyfikowana — funkcja zwraca nową tablicę. Ważne: klucze oryginalnej tablicy są zachowane (nie są reindeksowane od zera). Jeśli chcesz ciągłą numerację, przekaż wynik przez array_values().
Bez callbacku array_filter usuwa elementy o wartości fałszywej: false, null, 0, 0.0, '', '0', [].
<?php
declare(strict_types=1);
// Z callbackiem — zostaw tylko liczby parzyste:
$liczby = [1, 2, 3, 4, 5, 6];
$parzyste = array_filter($liczby, fn($n) => $n % 2 === 0);
print_r($parzyste);
// wynik:
// Array
// (
// [1] => 2
// [3] => 4
// [5] => 6
// )
// Bez callbacku — usuń wartości fałszywe:
$dane = ['ola', '', null, 'kuba', 0, 'anna'];
$niepuste = array_filter($dane);
print_r($niepuste);
// wynik:
// Array
// (
// [0] => ola
// [3] => kuba
// [5] => anna
// )