filter_id în PHP

Returnează constanta numerică a unui filtru după numele lui text (de exemplu validate_email).

Sintaxă
filter_id(string $name): int|false

Ce face filter_id

filter_id face legătura dintre numele din filter_list() și constantele FILTER_*. Este utilă când regulile de validare sunt scrise ca text, de exemplu într-un fișier JSON de configurare.

Parametri

Parametru Descriere
$name Numele filtrului, de exemplu "validate_email" sau "int".

Ce returnează

Identificatorul filtrului, sau false dacă numele nu există.

Exemple

Exemplul 1: Reguli de validare citite din JSON

<?php
$reguli = json_decode('{"email": "validate_email", "varsta": "int", "telefon": "nu_exista"}', true);
$date = ["email" => "ana@exemplu.ro", "varsta" => "25", "telefon" => "0742"];

foreach ($reguli as $camp => $filtru) {
    $id = filter_id($filtru);
    echo $camp . ": " . ($id === false ? "filtru necunoscut" : var_export(filter_var($date[$camp], $id), true)) . "\n";
}

var_dump(filter_id("validate_email") === FILTER_VALIDATE_EMAIL);

Rezultat

email: 'ana@exemplu.ro'
varsta: 25
telefon: filtru necunoscut
bool(true)

Greșeli frecvente

  • Folosești rezultatul fără să verifici false. Un nume greșit dat lui filter_var ca filtru produce erori greu de înțeles.

Comenzi înrudite

  • filter_list: Returnează numele tuturor filtrelor disponibile (int, validate_email, special_chars…).
  • filter_var: Validează sau curăță o valoare: email, număr întreg, URL, adresă IP, valoare booleană.