(PHP 4, PHP 5, PHP 7, PHP 8)
is_numeric — Détermine si une variable est un nombre ou une chaîne numérique
Détermine si la variable donnée est un nombre ou une chaîne numérique.
valueLa variable à évaluer.
Retourne true si value est un nombre ou une
chaîne numérique,
false sinon.
| 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.
|
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