Détermine si une variable est un nombre ou une chaîne numérique

# is_numeric

(PHP 4, PHP 5, PHP 7, PHP 8)

is_numeric — Détermine si une variable est un nombre ou une chaîne numérique

### Description

function is_numeric(mixed `$value`): bool

Détermine si la variable donnée est un nombre ou une chaîne numérique.

### Liste de paramètres

`value`

  La variable à évaluer.

### Valeurs de retour

Retourne `true` si `value` est un nombre ou une chaîne numérique, `false` sinon.

### Historique

Version | Description
--- | ---
8.0.0 | Les chaînes numériques terminant avec des caractères d'espacement blanc (`"42 "`) retournent désormais `true`. Auparavant, `false` était retourné à la place.

### Exemples

Exemple #1 Exemple avec is_numeric()

    <?php
    $tests = array(
        "42",
        1337,
        0x539,
        02471,
        0b10100111001,
        1337e0,
        "0x539",
        "02471",
        "0b10100111001",
        "1337e0",
        "not numeric",
        array(),
        9.1,
        null,
        '',
    );

    foreach ($tests as $element) {
        if (is_numeric($element)) {
            echo var_export($element, true) . " est numérique", PHP_EOL;
        } else {
            echo var_export($element, true) . " N'est PAS numérique", PHP_EOL;
        }
    }
    ?>

L'exemple ci-dessus va afficher :

    '42' est numérique
    1337 est numérique
    1337 est numérique
    1337 est numérique
    1337 est numérique
    1337.0 est numérique
    '0x539' N'est PAS numérique
    '02471' est numérique
    '0b10100111001' N'est PAS numérique
    '1337e0' est numérique
    'not numeric' N'est PAS numérique
    array (
    ) N'est PAS numérique
    9.1 est numérique
    NULL N'est PAS numérique
    '' N'est PAS numérique

Exemple #2 is_numeric() avec des caractères d'espacement blanc

    <?php
    $tests = [
        " 42",
        "42 ",
        "\u{A0}9001", // espace insécable
        "9001\u{A0}", // espace insécable
    ];

    foreach ($tests as $element) {
        if (is_numeric($element)) {
            echo var_export($element, true) . " est numérique", PHP_EOL;
        } else {
            echo var_export($element, true) . " N'est PAS numérique", PHP_EOL;
        }
    }
    ?>

Résultat de l'exemple ci-dessus en PHP 8 :

    ' 42' est numérique
    '42 ' est numérique
    ' 9001' N'est PAS numérique
    '9001 ' N'est PAS numérique

Résultat de l'exemple ci-dessus en PHP 7 :

    ' 42' est numérique
    '42 ' N'est PAS numérique
    ' 9001' N'est PAS numérique
    '9001 ' N'est PAS numérique

### Voir aussi

- Les chaînes numériques
- ctype_digit() - Vérifie qu'une chaîne est un entier
- is_bool() - Détermine si une variable est un booléen
- is_null() - Indique si une variable vaut null
- is_float() - Détermine si une variable est de type nombre décimal
- is_int() - Détermine si une variable est de type nombre entier
- is_string() - Détermine si une variable est de type chaîne de caractères
- is_object() - Détermine si une variable est de type objet
- is_array() - Détermine si une variable est un tableau
- filter_var() - Filtre une variable avec un filtre spécifique

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open