filter_input_array
funkcja
Pobiera i filtruje wiele wartości z superglobalnej tablicy (GET, POST, COOKIE…) według specyfikacji filtrów.
filter_input_array(int $type, array|int $options = FILTER_DEFAULT, bool $add_empty = true): array|false|null
filter_input_array działa jak filter_var_array, ale źródłem danych jest superglobalna tablica PHP: INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER lub INPUT_ENV. Zwraca tablicę przefiltrowanych wartości, false gdy rozszerzenie filter nie jest dostępne, lub null gdy źródłowa tablica (np. $_GET) nie jest dostępna lub nie została wypełniona. Parametr $add_empty kontroluje czy pola ze specyfikacji, których brak w żądaniu, mają być dodawane z wartością null.
<?php
declare(strict_types=1);
// Przykład: formularz POST z polami 'email' i 'wiek'
// $_POST = ['email' => '[email protected]', 'wiek' => '30']
$spec = [
'email' => FILTER_VALIDATE_EMAIL,
'wiek' => [
'filter' => FILTER_VALIDATE_INT,
'options' => ['min_range' => 1, 'max_range' => 120],
],
];
$dane = filter_input_array(INPUT_POST, $spec);
if ($dane !== false && $dane !== null) {
if ($dane['email'] !== false && $dane['wiek'] !== false) {
echo 'Dane poprawne';
} else {
echo 'Błędne dane';
}
}