Les fonctions fournies par cette extension vérifient si un caractère ou une chaîne appartient à une certaine classe de caractères, suivant la configuration locale courante (voir aussi la fonction setlocale()).
Lorsqu'appelées avec un entier comme argument, ces fonctions se comportent exactement comme leur équivalent C du fichier ctype.h. Cela signifie que si un nombre entier inférieur à 256 est passé, l'équivalent ASCII de la valeur sera utilisé afin de vérifier s'il se situe bien dans l'intervalle (les chiffres sont dans l'intervalle 0x30-0x39). Si le nombre se situe entre -128 et -1 inclus, alors 256 sera ajouté et la vérification se fera sur le résultat.
À partir de PHP 8.1.0, passer un argument différent d'une chaîne est obsolète. À l'avenir, l'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é.
Lorsqu'appelées avec une chaîne comme argument, ces fonctions vérifient
chaque caractère de la chaîne et ne retourneront true
que si chacun
des caractères correspond aux critères. Lorsque appelé avec une chaîne vide, le résultat sera toujours false
.
Si l'on passe autre chose qu'une chaîne ou un entier, false
est retourné
immédiatement.
Il est important de garder à l'esprit que les fonctions ctype sont toujours
préférées pour les expressions régulières ainsi que pour les fonctions
préfixées pas "str_*"
et "is_*"
.
En effet, ctype utilisant la bibliothèque native C, le
traitement est extrêmement rapide.
Note:
Ces fonctions ne sont absolument pas relatives à la bibliothèque Python "ctypes". Les noms des fonctions sont relatives à l'en-tête du fichier C ctype.h où les fonctions C équivalentes sont définies.
Cette extension est antérieure à "ctypes" Python, aussi, toute confusion causée par cette dénomination est loin d'être la faute de PHP.