# 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

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 "`) retourneront 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", // non-breaking space
"9001\u{A0}", // non-breaking space
];
foreach ($tests as $element) {
if (is_numeric($element)) {
echo var_export($element, true) . " is numeric", PHP_EOL;
} else {
echo var_export($element, true) . " is NOT numeric", PHP_EOL;
}
}
?>`

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

    ' 42' is numeric
    '42 ' is numeric
    ' 9001' is NOT numeric
    '9001 ' is NOT numeric

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

    ' 42' is numeric
    '42 ' is NOT numeric
    ' 9001' is NOT numeric
    '9001 ' is NOT numeric

### Voir aussi

- Les chaînes numérique
- 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