filter_var

funkcja

Filtruje lub waliduje wartość. Przy FILTER_VALIDATE_* zwraca przefiltrowaną wartość albo false. Obsługuje e-mail, liczby, URL i inne.

filter_var(mixed $value, int $filter = FILTER_DEFAULT, array|int $options = 0): mixed

filter_var służy do walidacji i sanityzacji danych. Przy flagach FILTER_VALIDATE_* zwraca przefiltrowaną wartość jeśli dane są poprawne, lub false jeśli nie. Przy flagach FILTER_SANITIZE_* usuwa lub koduje niedozwolone znaki. Wynik porównuj przez !== false, nie przez ! (filtry int mogą zwrócić 0, które jest falsy).

<?php
declare(strict_types=1);

// Walidacja adresu e-mail
$email = '[email protected]';
if (filter_var($email, FILTER_VALIDATE_EMAIL) !== false) {
    echo 'Poprawny e-mail';
} else {
    echo 'Niepoprawny e-mail';
}

// Walidacja liczby całkowitej
$wiek = filter_var('25', FILTER_VALIDATE_INT);
if ($wiek !== false) {
    echo 'Wiek: ' . $wiek; // wynik: Wiek: 25
}

// Walidacja z zakresem wartości
$opcje = ['options' => ['min_range' => 1, 'max_range' => 120]];
var_dump(filter_var(25, FILTER_VALIDATE_INT, $opcje));  // wynik: int(25)
var_dump(filter_var(200, FILTER_VALIDATE_INT, $opcje)); // wynik: bool(false)

// Walidacja URL
var_dump(filter_var('https://phpedia.pl', FILTER_VALIDATE_URL)); // wynik: string(18) "https://phpedia.pl"
📘 Naucz się w lekcji →