PHP : La validation de variable avancée en utilisant « ctype »

Pour une analyse plus précise des types de caractères dans une variable, PHP nous offre la bibliothèque »ctype ». Si vous voulez vérifier les valeurs particulières à l’intérieur d’une variable, et que vous voulez le faire vite et bien, CTYPE est pour vous. Voyons comment l’utiliser.

En terme de performances, comparé à un test commun de type « is_numeric() », le contrôle de »ctype » équivalent est plus rapide pour la même tache.

Exemple de test de performances :

  • ctype_digit(« 123456789« ) : 0.39640688896179 secondes
  • is_numeric(« 123456789« ) : 0.47485589981079 secondes
Il y a 11 fonctions "ctype" disponibles, qui fonctionnent toutes de la même manière que "is_numeric()" par exemple : vous y passez une variable, et vous obtenez en retour vrai ou faux (true / false).

Chacune de ces fonctions correspondent à différents cas types de test, voyez le récapitulatif ci-après de ce que chaque fonction propose :

ctype_alnum() vrais si correspond à  A-Z, a-z, 0-9
ctype_alpha() vrais si correspond à  A-Z, a-z
ctype_cntrl() vrais si correspond aux caractères de contrôle ASCII
ctype_digit() vrais si correspond à 0-9
ctype_graph() vrais si correspond à des valeurs qui peuvent être représentées graphiquement
ctype_lower() vrais si correspond à a-z
ctype_print() vrais correspond à des caractères visibles (pas d’espace)
ctype_punct() vrais correspond à tous les caractères non-alphanumériques (pas d’espace)
ctype_space() vrais si est un espace (espace, tab, saut de ligne, etc)
ctype_upper() vrais si correspond à A-Z
ctype_xdigit() vrais si correspond à un chiffre au format hexadécimal

Les tests CTYPE sont absolus, ce qui signifie que ctype_digit() retournera faux par exemple pour la valeur « 123456789! » en raison du « ! » à la fin de la chaîne.

Exemple :

<?php
    $var = "123456789!";
    print (int)ctype_digit($var);
?>

A noter : il n’existe pas de test pour les nombres à virgule flottante disponibles, comme ctype_digit() correspond à 0-9 de type entier. En conséquence, l’on obtiendra un retour de type faux pour 123,45 . Pour ce type de test il vous utiliser le is_float() stadard .

Pas de commentaire

Publier un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Activer les notifications Super merci ! Non merci !
Which Notifications would you like to receive?