filter_var_array

funkcja

Filtruje lub waliduje wiele wartości naraz według specyfikacji. Idealna do obsługi formularzy i danych wejściowych.

filter_var_array(array $array, array|int $options = FILTER_DEFAULT, bool $add_empty = true): array|false|null

filter_var_array stosuje filtry do całej tablicy wartości jednocześnie, zamiast wywoływać filter_var osobno dla każdego pola. Specyfikacja $options to tablica ['klucz' => FILTR] lub ['klucz' => ['filter' => FILTR, 'options' => [...]]]. Gdy $add_empty to true, pola obecne w specyfikacji ale nieobecne w danych są dodawane z wartością null. Idealne do walidacji danych formularzy.

<?php
declare(strict_types=1);

$dane = [
    'email' => '[email protected]',
    'wiek'  => '25',
    'url'   => 'https://phpedia.pl',
];

$spec = [
    'email' => FILTER_VALIDATE_EMAIL,
    'wiek'  => [
        'filter'  => FILTER_VALIDATE_INT,
        'options' => ['min_range' => 1, 'max_range' => 120],
    ],
    'url'   => FILTER_VALIDATE_URL,
];

$wynik = filter_var_array($dane, $spec);
// wynik: ['email' => '[email protected]', 'wiek' => 25, 'url' => 'https://phpedia.pl']

// Nieprawidłowe wartości otrzymują false:
$bledne = ['email' => 'nie-email', 'wiek' => '999', 'url' => 'nie-url'];
$wynik2 = filter_var_array($bledne, $spec);
// wynik: ['email' => false, 'wiek' => false, 'url' => false]
📘 Naucz się w lekcji →