Aller au contenu

filter_var_array()

Introduction

PHP propose une série de fonctions intégrées pour filtrer et valider les données saisies par les utilisateurs. L'une de ces fonctions est filter_var_array(), qui permet d'appliquer des filtres à plusieurs variables simultanément. Dans cet article, nous vous fournirons un guide détaillé sur l'utilisation de filter_var_array() en PHP, sa syntaxe et ses avantages.

Syntaxe

La syntaxe de filter_var_array() est la suivante :

Syntaxe PHP de filter_var_array()

php
filter_var_array ( array $data , mixed $definition [, bool $add_empty = true ] ) : mixed

La fonction prend trois paramètres : le tableau de données d'entrée à filtrer, la définition des filtres à appliquer et un indicateur booléen optionnel indiquant si les valeurs de saisie vides doivent être ajoutées au tableau retourné. La fonction retourne le tableau filtré en cas de succès, ou false en cas d'échec.

Utilisation

La fonction filter_var_array() est utilisée pour appliquer des règles de validation et de sanitisation à plusieurs variables simultanément, comme les données soumises via un formulaire. Par exemple, le code suivant montre comment traiter les entrées de formulaire :

Exemple de PHP filter_var_array()

php
<?php

$filters = [
    'name' => FILTER_SANITIZE_FULL_SPECIAL_CHARS,
    'age' => FILTER_VALIDATE_INT,
    'email' => FILTER_VALIDATE_EMAIL
];

$data = [
    'name' => $_POST['name'],
    'age' => $_POST['age'],
    'email' => $_POST['email']
];

// $add_empty = false empêche l'ajout de clés avec des valeurs null/vides dans le résultat
$result = filter_var_array($data, $filters, false);

if ($result === false) {
    // Gérer l'erreur
}

Dans cet exemple, le tableau $filters définit les règles à appliquer aux données d'entrée, et le tableau $data contient les valeurs du formulaire. La fonction filter_var_array() applique ces règles et stocke le résultat dans $result.

Remarque : FILTER_SANITIZE_STRING a été supprimé dans PHP 8.0. Utilisez plutôt FILTER_SANITIZE_FULL_SPECIAL_CHARS. Vérifiez toujours si la fonction retourne false pour gérer les éventuelles erreurs.

Avantages

L'utilisation de filter_var_array() peut améliorer la sécurité et la fiabilité de votre application PHP en traitant plusieurs variables simultanément. Valider les entrées avant tout traitement supplémentaire garantit que votre application n'accepte que les données attendues, réduisant ainsi les risques de vulnérabilités de sécurité. De plus, l'utilisation de fonctions de filtrage intégrées améliore la qualité du code en séparant la logique de validation de la logique métier, rendant vos scripts plus modulaires et plus faciles à maintenir.

Conclusion

En conclusion, filter_var_array() est un outil précieux pour traiter efficacement plusieurs variables en PHP. Combinée à d'autres fonctions de filtrage, elle contribue à maintenir un code sécurisé, de haute qualité et lisible.

Pratique

Quel est l'objectif de la fonction 'filter_var_array()' en PHP ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.