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.