Position actuelle: Accueil> Derniers articles> Filter_sanitize_number_float constante en php

Filter_sanitize_number_float constante en php

gitbox 2025-06-06

1. Qu'est-ce que filter_sanitize_number_float?

Dans le développement de PHP, garantissant la légitimité et la sécurité des données est cruciale, en particulier les données saisies par les utilisateurs. PHP fournit une variété de filtres intégrés, où filter_sanitize_number_float est une constante dédiée aux chaînes de nettoyage contenant des nombres à virgule flottante. Il peut supprimer tous les caractères dans une chaîne, sauf les nombres, décimaux, plus ou signes négatifs, et est souvent utilisé dans le prétraitement des données de formulaire, les paramètres de réception de l'API et d'autres scénarios.

2. Utilisez la syntaxe et la description des paramètres

L'utilisation standard de filter_sanitize_number_float est la suivante:

 $sanitized_number = filter_var($number, FILTER_SANITIZE_NUMBER_FLOAT, $filter_options);

Description du paramètre:

  • Numéro de $ : une chaîne ou une variable qui doit être filtrée.
  • $ filter_options : Facultatif, spécifiant le comportement de filtrage, tels que de conserver des points décimaux, des parties ou des symboles décimaux, etc.

3. Exemple d'application

3.1 Exemple de nettoyage de base

 $number = "5a.1b4 2c2";
$sanitized_number = filter_var($number, FILTER_SANITIZE_NUMBER_FLOAT);
echo $sanitized_number;

Résultat de sortie:

 <span class="fun">5.1422</span>

Dans cet exemple, les caractères non numériques de la chaîne d'origine sont effacés, ne laissant que des nombres juridiques et des décimaux.

3.2 Supprimer l'excès de 0 à la fin

En utilisant des drapeaux de filtre, le format des résultats de sortie peut être encore contrôlé.

 $number = "8.9000";
$sanitized_number = filter_var($number, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION | FILTER_FLAG_STRIP_TAIL);
echo $sanitized_number;

Résultat de sortie:

 <span class="fun">8.9</span>

Filter_flag_strip_tail supprime ici la fraction redondante de la queue, améliorant la propreté des données.

3.3 Personnalisez le symbole décimal

Dans certaines applications internationales, le point décimal peut ne pas l'être . Par exemple, les pays européens peuvent utiliser , . PHP permet de définir des points décimaux personnalisés via des options.

 $number = "8,9";
$filter_options = array("decimal" => ",");
$sanitized_number = filter_var($number, FILTER_SANITIZE_NUMBER_FLOAT, array("options" => $filter_options));
echo $sanitized_number;

Résultat de sortie:

 <span class="fun">8.9</span>

En définissant "décimal" => "," Le filtre reconnaît la virgule comme un point décimal et analyse correctement le nombre.

4. Résumé

Filter_sanitize_number_float est un outil important dans PHP pour le traitement des données de chaîne numérique du point flottant. Il peut filtrer efficacement les caractères non numériques, conserver les symboles décimaux et prendre en charge la configuration d'options flexible. Qu'il s'agisse de vérification des données, de normalisation du format ou d'amélioration de la robustesse du traitement des données, il s'agit d'un outil puissant entre les mains des développeurs.