Ce face array_filter
array_filter trece fiecare element prin funcția ta. Dacă funcția returnează true, elementul rămâne. Fără funcție, elimină valorile „goale” ("", 0, null, false).
Cheile originale se păstrează. Folosește array_values dacă vrei chei 0, 1, 2…
Parametri
| Parametru | Descriere |
|---|---|
$tablou |
Tabloul filtrat. |
$functie |
Opțional. Funcția care decide ce elemente rămân. |
$mod |
Opțional. ARRAY_FILTER_USE_KEY sau ARRAY_FILTER_USE_BOTH pentru a primi și cheia. |
Ce returnează
Un tablou nou, doar cu elementele păstrate.
Exemple
Exemplul 1: Doar numerele pare
<?php
$numere = [1, 2, 3, 4, 5, 6];
print_r(array_filter($numere, fn($n) => $n % 2 === 0));
Rezultat
Array
(
[1] => 2
[3] => 4
[5] => 6
)
Exemplul 2: Eliminarea valorilor goale
<?php
$campuri = ["Ana", "", "Iași", null, "0742000000"];
print_r(array_values(array_filter($campuri)));
Rezultat
Array
(
[0] => Ana
[1] => Iași
[2] => 0742000000
)
Greșeli frecvente
- Te miri că după filtrare cheile sunt 1, 3, 5.
array_filterpăstrează cheile: adaugăarray_values.