j'hésite fort, il y a is_numeric(), is_int(), ctype_digit()
Pas is_int en tous cas.
Celà me permettra d'éviter les injections SQL.
Tu fais intval() sur ta variable, tout simplement.
stevo
Moi j'utilise une fonction maison car les fonctions prédéfinies ne faisaient pas exactement ce que je voulais. Je n'aime pas intval() par exemple car lors de l'évaluation de "34toto" elle retourne 34. Ma fonction retourne FALSE.
//=============================== // retourne le nombre entier que représente la string // ou retourne false sinon. // retourne le int si déjà un int // // 3.14 ne passe pas // 34s ne passe pas // 0x3454 ne passe pas // //=============================== function toInt($str) { if(!isset($str)) { return false ; }
if(is_int($str)) { return $str ; }
// valid du coup que ce n'est pas un array ou un object: if(!is_numeric($str)) { return false ; }
$str = ltrim($str, "0") ;
// $str valait "0000" par exemple if(vide($str)) { return 0 ; }
Moi j'utilise une fonction maison car les fonctions prédéfinies ne faisaient
pas exactement ce que je voulais. Je n'aime pas intval() par exemple car
lors de l'évaluation de "34toto" elle retourne 34. Ma fonction retourne
FALSE.
//=============================== // retourne le nombre entier que représente la string
// ou retourne false sinon.
// retourne le int si déjà un int
//
// 3.14 ne passe pas
// 34s ne passe pas
// 0x3454 ne passe pas
//
//=============================== function toInt($str)
{
if(!isset($str))
{
return false ;
}
if(is_int($str))
{
return $str ;
}
// valid du coup que ce n'est pas un array ou un object:
if(!is_numeric($str))
{
return false ;
}
$str = ltrim($str, "0") ;
// $str valait "0000" par exemple
if(vide($str))
{
return 0 ;
}
Moi j'utilise une fonction maison car les fonctions prédéfinies ne faisaient pas exactement ce que je voulais. Je n'aime pas intval() par exemple car lors de l'évaluation de "34toto" elle retourne 34. Ma fonction retourne FALSE.
//=============================== // retourne le nombre entier que représente la string // ou retourne false sinon. // retourne le int si déjà un int // // 3.14 ne passe pas // 34s ne passe pas // 0x3454 ne passe pas // //=============================== function toInt($str) { if(!isset($str)) { return false ; }
if(is_int($str)) { return $str ; }
// valid du coup que ce n'est pas un array ou un object: if(!is_numeric($str)) { return false ; }
$str = ltrim($str, "0") ;
// $str valait "0000" par exemple if(vide($str)) { return 0 ; }
Oups, je fais appelle à une autre fonction que j'ai définie moi-même "vide()" que voici. J'imagine que la remplacer par "empty()" dans la fionction "toInt()" ferait l'affaire.
//=============================== // retourne true si $str est égale à "" ou pas settée //=============================== function vide($str) { if(!isset($str)) { return true ; } else { if(is_string($str)) { return (strcmp($str, "") === 0) ; } else { return false ; } } }
Oups, je fais appelle à une autre fonction que j'ai définie moi-même
"vide()" que voici. J'imagine que la remplacer par "empty()" dans la
fionction "toInt()" ferait l'affaire.
//=============================== // retourne true si $str est égale à "" ou pas settée
//=============================== function vide($str)
{
if(!isset($str))
{
return true ;
}
else
{
if(is_string($str))
{
return (strcmp($str, "") === 0) ;
}
else
{
return false ;
}
}
}
Oups, je fais appelle à une autre fonction que j'ai définie moi-même "vide()" que voici. J'imagine que la remplacer par "empty()" dans la fionction "toInt()" ferait l'affaire.
//=============================== // retourne true si $str est égale à "" ou pas settée //=============================== function vide($str) { if(!isset($str)) { return true ; } else { if(is_string($str)) { return (strcmp($str, "") === 0) ; } else { return false ; } } }