Vérifier qu'une chaine de caractères est un entier

Rechercher

Vérifier qu'une chaine de caractères est un entier

  • Par Emacs
  • 1 commentaire
  • 5 142 lectures
  • De PHP Group
  • RSS -  Atom

Lorsque l'on développe une application, il n'est pas rare d'avoir à manipuler des entiers sous forme de chaine de caractères. Qui plus est de s'assurer que l'on reçoit bien une valeur entière et non un mot, un nombre à virgule, un script malicieux où je ne sais quoi encore... Pour cela, PHP introduit nativement la fonction ctype_digit() qui se charge de vérifier que son paramètre d'entrée est une valeur entière. Nul besoin donc de réinventer la roue en utilisant ses propres fonctions utilisateurs ou bien encore une expression régulière qui sera plus gourmande en temps de traitement.

Portion de code

<?php
  $chaines = array('408.24', '43291', 'wxcv@#2312%');
  foreach ($chaines as $entier)
  {
    if (ctype_digit($entier))
    {
      echo 'La chaîne '. $entier .' est bien un entier<br/>';
    }
    else
    {
      echo 'La chaîne '. $entier .' n\'est pas un entier<br/>';
    }
  }
?>

**Note : **dans cet exemple, le type " string " de l'entier est conservé. Pour caster cette valeur en véritable entier (nombre), utilisez la fonction intval() dessus.

Les commentaires

1. Par WaRTeaM le 27/12/2007 11:39

Salut !

Je pense que le mieux aurait été de présenter la plupart des fonctions ctype_*().

Donc un exemple pour chaque fonction (peut être pas tous mais au moins les plus importantes).

Voilà,
@ Bientôt,
Bonne continuation.

(PS : Petit bug à gauche : Auteur, email et site sont écris tout coller et aucune de mes données s'affichent.)