Vérifier qu'une chaine de caractères est un entier
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.
1. Par WaRTeaM le 27/12/2007 11:39