Filtre Défini par l'Utilisateur

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

FILTER_CALLBACK (int)

Ce filtre délÚgue le filtrage à une fonction définie par l'utilisateur. Le callable est passé via le paramÚtre options en tant que valeur associée à la clé 'options'.

La fonction de rappel doit avoir la signature suivante :

function callback(string $value): mixed
value

La valeur qui est en cours de filtrage.

Note:

La valeur retournée par la fonction de rappel sera la valeur retournée par la fonction de filtre invoquée.

Exemple #1 Exemple d'utilisation de FILTER_CALLBACK pour valider un nom de connexion

<?php
function validate_login(string $value): ?string
{
    if (strlen($value) >= 5 && ctype_alnum($value)) {
        return $value;
    }
    return null;
}

$login = "val1dL0gin";
$filtered_login = filter_var($login, FILTER_CALLBACK, ['options' => 'validate_login']);
var_dump($filtered_login);

$login = "f&ke login";
$filtered_login = filter_var($login, FILTER_CALLBACK, ['options' => 'validate_login']);
var_dump($filtered_login);
?>

L'exemple ci-dessus va afficher :

string(10) "val1dL0gin"
NULL

Note:

À partir de PHP 8.1.25 et 8.2.12, les indicateurs structurels FILTER_REQUIRE_ARRAY, FILTER_FORCE_ARRAY et FILTER_REQUIRE_SCALAR s'appliquent Ă  ce filtre, et FILTER_NULL_ON_FAILURE modifie la façon dont un tel Ă©chec structurel est rapportĂ©. Dans les versions antĂ©rieures, tous les indicateurs Ă©taient ignorĂ©s. Les indicateurs propres Ă  un filtre sont toujours ignorĂ©s et, puisque la valeur de retour de la fonction de rappel constitue le rĂ©sultat, la fonction de rappel elle-mĂȘme ne peut pas Ă©chouer : aucun indicateur ne transforme un false retournĂ© par la fonction de rappel en null ou en exception.

add a note

User Contributed Notes

There are no user contributed notes for this page.