Maison >développement back-end >tutoriel php >PHP Master | Une introduction aux fonctions CTYPE
Explication détaillée de la fonction CTYPE de PHP: Type de caractère outil de vérification
Points de base
ctype_alnum()
(caractères alphanumériques), ctype_alpha()
(caractères alphanumériques), ctype_digit()
(caractères numériques), ctype_lower()
(caractères minuscules), ctype_upper()
(caractères majuscules) , etc. . Chaque fonction vérifie si chaque caractère dans la chaîne appartient au type spécifié par la fonction. is_numeric()
, is_float()
, is_integer()
, etc. peuvent également être utilisées. ctype fournit un ensemble de fonctions pour vérifier que les caractères d'une chaîne sont du type correct. Cet article explorera la syntaxe des fonctions de type de caractère, des fonctions spécifiques et comment les utiliser pour la vérification. Si vous exécutez PHP 4.2 ou version ultérieure, cette extension est activée par défaut. Si, pour une raison quelconque, vous ne pouvez pas supporter cette extension en cours d'exécution avec votre installation, vous pouvez le désactiver à l'aide du commutateur de compilation --disable-ctype
. Si vous avez un fond de langue C, vous connaissez peut-être déjà les fonctions de type de caractère car elles sont dérivées du langage C (n'oubliez pas que PHP est réellement écrit en langue C). Mais si vous utilisez Python, il est important de souligner que la fonction CTYPE de PHP n'a rien à voir avec la bibliothèque CTYPES de Python. Ce n'est qu'une de ces similitudes de dénomination malheureuses et totalement inévitables.
Principe de travail
très simple. Comme mentionné précédemment, ces fonctions vérifient les valeurs de chaîne pour voir si les caractères se trouvent dans une plage donnée, ou si chaque caractère est du type approprié. Par exemple, vous pouvez utiliser ces fonctions pour voir si une chaîne ne contient que des caractères de capital, ou s'il s'agit d'un nombre, ou s'il se compose de caractères hexadécimaux, ou l'une d'une douzaine d'autres options disponibles. Vous devez vous assurer que la chaîne est toujours transmise. Bien sûr, vous pouvez passer en entiers, mais comme le manuel PHP le souligne sur chaque page de fonction, vous demandez des problèmes:> Si vous fournissez des entiers entre -128 et 255 (inclus), expliquez-le de la valeur ASCII pour un seul caractère ( Ajoutez 256 aux valeurs négatives pour permettre à la gamme des caractères ASCII d'être étendue). Tout autre entier est interprété comme une chaîne contenant des nombres décimaux entiers.
L'exemple suivant de la page ctype_digit()
illustre ceci:
<code class="language-php"><?php $numeric_string = "42"; $integer = 42; ctype_digit($numeric_string); // true ctype_digit($integer); // false (ASCII 42 is '*') is_numeric($numeric_string); // true is_numeric($integer); // true</code>
Si nous examinons le code ci-dessus, la première ligne évalue TRUE. Cependant, la deuxième déclaration est fausse. 42 est un entier, ce qui est correct, mais l'instruction CTYPE l'évalue comme un seul caractère ASCII, dans ce cas un astérisque. Bien sûr, la fonction CTYPE n'est pas le seul moyen de vérifier les données. Selon vos besoins, vous pouvez également utiliser la fonction is_numeric()
. Il traite le nombre comme un nombre et renvoie la vraie valeur comme indiqué ci-dessous:
<code class="language-php"><?php is_numeric($numeric_string); // true is_numeric($integer); // true</code>
Il existe d'autres fonctions is_*
, y compris is_float()
, is_integer()
, etc. Pourquoi discutons-nous de la fonction is_*
ici? Juste pour vous rappeler qu'il existe plus d'une méthode. En fait, à l'ère d'aujourd'hui, je ne devrais probablement pas dire cela. Ce n'est qu'une façon d'expression. Ne décollez pas la peau de votre chat et dites à tout le monde que c'est mon idée. C'est juste qu'il existe de nombreuses façons de faire les choses.
Fonctions disponibles
J'ai déjà suggéré que des vérifications approfondies peuvent être effectuées, mais quelles sont les fonctions disponibles? Quels types de chèques peuvent être effectués? La liste est la suivante:
ctype_alnum()
- Vérifiez les caractères alphanumériques (A-Z, majuscules ou minuscules, 0-9, pas de caractères spéciaux, de marques de ponctuation ou d'autres caractères d'exception). ctype_alpha()
- Vérifiez les caractères alphabétiques (A-Z, majuscules ou minuscules). ctype_cntrl()
- Vérifiez les caractères de contrôle (par exemple n, etc.). ctype_digit()
- Vérifiez les caractères numériques (0-9, pas de décimaux, des virgules, etc.). ctype_graph()
- Vérifiez les caractères imprimés visuellement (caractères ou espaces sans contrôle). ctype_lower()
- Vérifiez les caractères minuscules (lettres minuscules A-Z uniquement, pas de chiffres). ctype_print()
- Vérifiez les caractères imprimables, y compris les caractères de contrôle et les espaces. ctype_punct()
- Vérifiez les caractères de type ponctuation (pas de chiffres, de lettres ou d'espaces). Il comprend généralement de nombreux caractères de "jurons" que nous appelons souvent des caractères "spéciaux". @ &! # ctype_space()
- Vérifiez les caractères de l'espace (y compris les espaces et tous les caractères de contrôle qui laissent des espaces sur la page, tels que "espaces de rupture de ligne étroits" et "séparateurs de voyelles mongols"). ctype_upper()
- Vérifiez les caractères de capital (majuscules A-Z uniquement, pas de chiffres ou de caractères spéciaux). ctype_xdigit()
- Vérifiez les caractères hexadécimaux. comment utiliser
L'utilisation de la fonction CTYPE est très simple. Vous le définissez généralement dans une instruction IF, si vous souhaitez tester plusieurs valeurs dans un tableau, vous l'intégrez parfois dans une boucle, puis vérifiez si le résultat de l'appel de fonction est vrai ou faux. Le vrai signifie que chaque caractère de la chaîne est le type de caractère de cet appel de fonction particulier. Voici un exemple:
<code class="language-php"><?php $numeric_string = "42"; $integer = 42; ctype_digit($numeric_string); // true ctype_digit($integer); // false (ASCII 42 is '*') is_numeric($numeric_string); // true is_numeric($integer); // true</code>
Si la valeur de $string
est "azxc1234", vous verrez une invite qu'elle est valide. Si la valeur de $string
est "123 # axy", elle n'est pas valide car # n'est pas un caractère alphanumérique. Notez que si vous passez dans une chaîne vide, dans PHP 5.1 et supérieur, la fonction renvoie False, mais dans les versions antérieures, mais vrai (ce n'est qu'une autre raison de mettre à niveau maintenant!). N'oubliez pas non plus de vous assurer que l'entrée de la fonction CTYPE est une chaîne! Si vous avez des questions, le casting n'est pas mal non plus.
<code class="language-php"><?php is_numeric($numeric_string); // true is_numeric($integer); // true</code>
Conclusion
c'est tout! Ces fonctions doivent être incluses dans votre installation PHP (sinon, vous devez certainement mettre à niveau ou arrêter de définir les paramètres PHP étranges). Tant que vous entrez simplement dans les chaînes, ils sont faciles à utiliser. Alors, où les utiliseriez-vous? Eh bien, chaque fois que vous avez besoin d'introduire des chaînes à partir d'un formulaire, vous pouvez les utiliser pour tester la validité des données traitées. Vraiment, les possibilités sont infinies.
PHP CTYPE Fonction FAQ (FAQ)
La fonction CTYPE dans PHP est utilisée pour vérifier si le type ou la valeur d'un caractère ou d'une chaîne spécifique correspond à certaines conditions. Ces fonctions sont particulièrement utiles lorsque vous devez vérifier le format de votre entrée ou vérifier les données. Par exemple, vous pouvez utiliser ctype_digit()
pour vérifier si une chaîne se compose uniquement de nombres, ou utiliser ctype_alpha()
pour vérifier si une chaîne se compose uniquement de lettres.
ctype est activée par défaut dans PHP. Cependant, si vous les trouvez indisponibles, vous devrez peut-être installer ou activer l'extension CTYPE. Cela peut être fait en décomisant la ligne "Extension = CTYPE" dans le fichier php.ini et redémarrant le serveur Web. Si l'extension n'est pas installée, vous devrez peut-être l'installer à l'aide du gestionnaire de packages du serveur.
ctype est conçue pour gérer les chaînes. Si vous transmettez une valeur non corporelle à la fonction CTYPE, convertissez-la en une chaîne avant d'appliquer la fonction. Si la valeur ne peut pas être représentée avec précision en tant que chaîne, cela peut entraîner des résultats inattendus. Par conséquent, il est recommandé d'utiliser toujours des chaînes avec des fonctions CTYPE.
La fonction CTYPE est-elle sensible à la fonction? reviendra True pour "ABC", mais faux pour "ABC". Si vous souhaitez effectuer une vérification insensible à la casse, vous pouvez utiliser la fonction ctype_alpha()
ou strtolower()
pour convertir la chaîne en minuscules ou en majuscules avant de le passer à la fonction CTYPE. strtoupper()
pour vérifier si une chaîne ne contient que des caractères alphanumériques. Si la chaîne se compose uniquement de lettres et de nombres, cette fonction renvoie vrai, sinon faux. ctype_alnum()
Quelle est la différence entre
ctype_digit()
et is_numeric()
? Bien que les deux fonctions soient utilisées pour vérifier si une chaîne contient des valeurs numériques, il existe des différences clés. ctype_digit()
La fonction renvoie vrai uniquement si la chaîne est entièrement composée de nombres. D'un autre côté, is_numeric()
renvoie True si la chaîne contient une valeur numérique (y compris les nombres de points flottants et les nombres en notation scientifique).
Non, la fonction CTYPE ne peut pas gérer les caractères multi -yte. Ils sont conçus pour gérer uniquement les caractères ASCII. Si vous devez traiter avec des caractères multi -yte, vous devez utiliser l'extension MBSTring à la place.
Depuis la version 4.0.4, la fonction CTYPE est fournie en PHP. Cependant, ils ne sont pas activés par défaut dans toutes les versions. Dans PHP 5.2.0 et ultérieurement, ils sont activés par défaut.
Oui, la fonction CTYPE est généralement utilisée pour vérifier l'entrée de l'utilisateur. Ils peuvent aider à garantir que l'entrée correspond au format attendu, ce qui aide à prévenir les erreurs et les vulnérabilités de sécurité.
Il n'y a pas de fonction CTYPE spécifiquement pour vérifier les espaces. Cependant, vous pouvez utiliser la fonction ctype_space()
pour vérifier si la chaîne ne contient que des caractères d'espace. Si la chaîne se compose uniquement de caractères d'espace, cette fonction renvoie vrai, sinon faux.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!