ctype_digit

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_digitVérifie qu'une chaîne est un entier

Description

function ctype_digit(mixed $text): bool

ctype_digit() vérifie si tous les caractères de la chaîne text sont des chiffres.

Liste de paramètres

text

La chaîne testée.

Note: Si un entier dans l'intervalle -128 et 255 inclus est fourni, il sera interprété comme la valeur ASCII d'un seul caractère (les valeurs négatives se verront ajouter 256 afin d'autoriser les caractères dans l'intervalle ASCII étendue). Tout autre entier sera interprété comme une chaîne de caractères contenant les décimales de l'entier.

Avertissement

À partir de PHP 8.1.0, passer un argument différent d'une chaîne est obsolète. À l'avenir, l#39;argument sera interprété comme une chaîne de caractères au lieu d'un point de code ASCII. Selon le comportement souhaité, l'argument doit être transtypé en chaîne de caractères ou un appel explicite à chr() doit être effectué.

Valeurs de retour

Retourne true si tous les caractères de text sont des chiffres décimaux, false sinon. Lorsque appelé avec une chaîne vide, le résultat sera toujours false.

Exemples

Exemple #1 Exemple avec ctype_digit()

<?php
$strings
= array('1820.20', '10002', 'wsl!12');
foreach (
$strings as $testcase) {
if (
ctype_digit($testcase)) {
echo
"La chaîne $testcase ne contient que des chiffres.\n";
} else {
echo
"La chaîne $testcase ne contient pas que des chiffres.\n";
}
}
?>

L'exemple ci-dessus va afficher :

La chaîne 1820.20 ne contient pas que des chiffres.
La chaîne 10002 ne contient que des chiffres.
La chaîne wsl!12 ne contient pas que des chiffres.

Exemple #2 Exemple avec ctype_digit() pour comparer des chaînes et des nombres

<?php

$numeric_string
= '42';
$integer = 42;

ctype_digit($numeric_string); // true
ctype_digit($integer); // false (ASCII 42 correspond au caractère *)

is_numeric($numeric_string); // true
is_numeric($integer); // true
?>

Voir aussi

  • ctype_alnum() - Vérifie qu'une chaîne est alphanumérique
  • ctype_xdigit() - Vérifie qu'un caractère représente un nombre hexadécimal
  • is_numeric() - Détermine si une variable est un nombre ou une chaîne numérique
  • 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
  • IntlChar::isdigit() - Vérifie si un point de code est un chiffre