Maison > développement back-end > tutoriel php > PHP Master | Une introduction aux fonctions CTYPE

PHP Master | Une introduction aux fonctions CTYPE

Christopher Nolan
Libérer: 2025-02-24 08:44:10
original
942 Les gens l'ont consulté

Explication détaillée de la fonction CTYPE de PHP: Type de caractère outil de vérification

PHP Master | An Introduction to Ctype Functions

Points de base

  • La famille de fonctions CTYPE incluse dans PHP 4.2 et ci-dessus est utilisée pour vérifier les types de caractères dans les chaînes et est souvent utilisé pour la vérification des données. Ils peuvent vérifier si une chaîne ne contient que des caractères de capital, des chiffres, des caractères hexadécimaux, etc. Mais assurez-vous de vous assurer que les cordes passées dans ces fonctions sont toujours des cordes.
  • Les fonctions CTYPE sont de différents types, y compris 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.
  • La fonction
  • ctype est facile à utiliser et est particulièrement utile lors de la vérification des données d'entrée de formulaire. Mais ce ne sont pas le seul moyen de vérifier les données. Selon les besoins spécifiques, d'autres fonctions telles que is_numeric(), is_float(), is_integer(), etc. peuvent également être utilisées.
L'extension

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:

<?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
Copier après la connexion
Copier après la connexion

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:

<?php
is_numeric($numeric_string);  // true
is_numeric($integer);         // true
Copier après la connexion
Copier après la connexion

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:

<?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
Copier après la connexion
Copier après la connexion

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.

<?php
is_numeric($numeric_string);  // true
is_numeric($integer);         // true
Copier après la connexion
Copier après la connexion

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)

Quelle est l'utilisation principale de la fonction CTYPE dans PHP?

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.

Comment activer la fonction CTYPE dans PHP?

La fonction

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.

Puis-je utiliser la fonction CTYPE avec des types de données non corrigées?

La fonction

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?

Oui, la fonction CTYPE est sensible à la casse. Par exemple,

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()

Comment utiliser la fonction CTYPE pour vérifier si une chaîne ne contient que des caractères alphanumériques?

Vous pouvez utiliser la fonction

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).

La fonction CTYPE peut-elle gérer des caractères multilinants?

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.

Les fonctions CTYPE sont-elles disponibles dans toutes les versions de PHP?

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.

Puis-je vérifier l'entrée de l'utilisateur à l'aide de la fonction CTYPE?

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é.

Comment utiliser la fonction CTYPE pour vérifier si une chaîne ne contient que des espaces?

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal