Position actuelle: Accueil> Derniers articles> Comment vérifier si un élément de tableau est un numéro de point flottant en utilisant IS_DOUBLE?

Comment vérifier si un élément de tableau est un numéro de point flottant en utilisant IS_DOUBLE?

gitbox 2025-06-15

1. Introduction à Is_Double ()

IS_DOUBLE () est une fonction intégrée dans PHP, qui est utilisée pour déterminer si une variable est d'un type de point flottant. Son utilisation est exactement la même que c'est_float () , en fait is_double () est un alias pour is_float () .

grammaire:

 is_double(mixed $var): bool

Valeur de retour:

  • Si $ var est un numéro de point flottant, retournez vrai

  • Sinon, retourne false

2. Vérifiez l'élément de point flottant dans le tableau

Nous pouvons combiner la fonction array_filter () et is_double () pour filtrer les éléments de points flottants dans le tableau. Par exemple:

 <?php
$values = [10, 3.14, 'hello', 2.718, 42, 0.99, true];

$floats = array_filter($values, 'is_double');

print_r($floats);
?>

Résultat de sortie:

 Array
(
    [1] => 3.14
    [3] => 2.718
    [5] => 0.99
)

Ici, nous utilisons array_filter () pour itérer dans chaque élément du tableau et appel is_double () sur chaque élément. Seuls les numéros de points flottants sont conservés dans le tableau retourné.

3. Ajouter plus de logique à l'aide des fonctions de rappel

Si vous souhaitez effectuer des vérifications plus complexes, telles que ne conserver que des numéros de points flottants supérieurs à 1,0, vous pouvez utiliser des fonctions anonymes comme rappels:

 <?php
$values = [0.5, 1.5, 2, '3.0', 3.14, false];

$result = array_filter($values, function($val) {
    return is_double($val) && $val > 1.0;
});

print_r($result);
?>

Résultat de sortie:

 Array
(
    [1] => 1.5
    [4] => 3.14
)

4. Vérifiez chaque élément du tableau et sortie le résultat

Parfois, nous devons parcourir le tableau et taper vérifier chaque élément, nous pouvons utiliser une boucle FOREAC :

 <?php
$data = [1.23, '2.34', 3, 4.56, null];

foreach ($data as $index => $value) {
    if (is_double($value)) {
        echo "Index d&#39;élément $index C&#39;est un numéro de point flottant,La valeur est:$value\n";
    } else {
        echo "Index d&#39;élément $index 不C&#39;est un numéro de point flottant,Type est:" . gettype($value) . "\n";
    }
}
?>

Résultat de sortie:

 Index d&#39;élément 0 C&#39;est un numéro de point flottant,La valeur est:1.23
Index d&#39;élément 1 不C&#39;est un numéro de point flottant,Type est:string
Index d&#39;élément 2 不C&#39;est un numéro de point flottant,Type est:integer
Index d&#39;élément 3 C&#39;est un numéro de point flottant,La valeur est:4.56
Index d&#39;élément 4 不C&#39;est un numéro de point flottant,Type est:NULL

5. Exemple d'application: filtre les numéros de point flottant dans l'entrée utilisateur

Imaginez que vous construisez une API simple qui prend un tableau de nombres du client et extrait uniquement les numéros de points flottants pour certains calculs:

 <?php
// Supposer que c&#39;est de POST Données reçues dans la demande
$user_input = json_decode(file_get_contents('https://gitbox.net/api/input'), true);

$floats = array_filter($user_input, 'is_double');

// Effectuer des calculs ultérieurs
$total = array_sum($floats);
echo "La somme des nombres de points flottants est:$total";
?>

Résumer

Bien que is_double () soit souvent remplacé par is_float () . En combinant Array_Filter () , des fonctions anonymes, ForEach et d'autres méthodes, nous pouvons filtrer et traiter avec flexion les nombres à virgule flottante dans le tableau pour améliorer la robustesse et la lisibilité du code.

L'utilisation d'Is_Double () vous permet de contrôler plus précisément les types de données et de fournir des garanties de type plus fortes pour les applications PHP.