Explication détaillée de la fonction CTYPE de PHP: Type de caractère outil de vérification
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.
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
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
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
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
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 fonctionctype 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 fonctionctype 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()
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!

Le délai d'expiration de session absolue commence au moment de la création de session, tandis qu'un délai d'expiration inactif de session démarre au moment de la non-opération de l'utilisateur. Le délai d'expiration de session absolue convient aux scénarios où un contrôle strict du cycle de vie de la session est nécessaire, tels que les applications financières; Le délai d'attente de session inactif convient aux applications qui souhaitent que les utilisateurs maintiennent leur session active pendant longtemps, comme les médias sociaux.

La défaillance de la session du serveur peut être résolue en suivant les étapes: 1. Vérifiez la configuration du serveur pour vous assurer que la session est correctement définie. 2. Vérifiez les cookies des clients, confirmez que le navigateur le prend en charge et l'envoyez-le correctement. 3. Vérifiez les services de stockage de session, tels que Redis, pour vous assurer qu'ils fonctionnent normalement. 4. Examiner le code de demande pour assurer la logique de session correcte. Grâce à ces étapes, les problèmes de conversation peuvent être diagnostiqués et réparés efficacement et l'expérience utilisateur peut être améliorée.

Session_Start () IsCrucialInPhpFormanAgingUsersessions.1) ItinitiateSanEwSessionIfNoneExists, 2) ConsomaSanExistingSession, and3) SetSasessionCooKieforContinuityAcrossrequests, permettant aux applications liées à la réaction et à la personne.

La définition de l'indicateur httponly est cruciale pour les cookies de session car il peut effectivement empêcher les attaques XSS et protéger les informations de session utilisateur. Plus précisément, 1) l'indicateur httponly empêche JavaScript d'accéder aux cookies, 2) l'indicateur peut être réglé via Setcookies et Make_Response dans PHP et FLASK, 3) Bien qu'il ne puisse pas être empêché de toutes les attaques, elle devrait faire partie de la politique de sécurité globale.

PhpSessionsSsolvetheproblemOf-MainainingStateCrossMultiplehttprequestsByStoringDataontheserverAndassociatingitwithauniquesessionId.1) ils storentaserver, généralement infilesordatabases, et de lasse de lastoredinacookietatevevedata.2)

PhpSessionsCanstorestrings, Numbers, Arrays, Andobject.1.Strings: TextDatalikeUserames.2.Numbers: IntegersorFloatsForCounters.3.arrays: listslikeshoppingcarts.4.Objects: complexestructuresthataReSerialized.

TostartaphpSession, usessession_start () aTTheScript'sbeginning.1) PlaceItBeForeanyOutputToSetTheSessionCooKie.2) USESSIONSFORUSERDATALIKELOGINSTATUSORSHOPPINGSCARS.3) RegegeraSesessionIdStopreventfixationAtTACKS.4)

La régénération de session fait référence à la génération d'un nouvel ID de session et à l'invalidation de l'ancien ID lorsque l'utilisateur effectue des opérations sensibles en cas d'attaques fixes de session. Les étapes de mise en œuvre incluent: 1. Détectez les opérations sensibles, 2. Générer un nouvel ID de session, 3. Détruiser l'ancien ID de session, 4. Mettre à jour les informations de session côté utilisateur.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Adaptateur de serveur SAP NetWeaver pour Eclipse
Intégrez Eclipse au serveur d'applications SAP NetWeaver.

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

Dreamweaver Mac
Outils de développement Web visuel

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

ZendStudio 13.5.1 Mac
Puissant environnement de développement intégré PHP
