FILTER_VALIDATE_INT

Mammouth du PHP | 985 Messages

07 avr. 2010, 08:50

FILTER_VALIDATE_INT

Il existe déjà les fonctions is_int(), is_numeric() et même mieux dans certains cas la fonction ctype_digit(), donc pourquoi ce filtre existe ?
Et surtout quel est son intérêt ?

Réponse:

Ces options:
* min_range - valeur minimum
* max_range - valeur maximum


Ces Flags:
* FILTER_FLAG_ALLOW_OCTAL - allows octal number values
* FILTER_FLAG_ALLOW_HEX - allows hexadecimal number values


Exemple:
<?php
$min = 1;
$max = 10;
$min_max = array("options"=> array("min_range"=>$min, "max_range"=>$max));

$id = (isset($_GET['ID'])) ? filter_var($_GET['ID'], FILTER_VALIDATE_INT, $min_max) : null;

var_dump($id);

// null correspond à false dans un test if.
// Et filter_var retourne false en cas d'échec du test, donc ce test est valide ensuite si besoin:
if ($id) {
    echo '$id n\'est pas null, est de type Int, possède une valeur entre 1 et 1O et n\'est pas Hexadécimal ni Octal';
}
?>
Ainsi non seulement on vérifie si la variable est de type int mais en plus si sa valeur est comprise entre 1 et 10.
De plus, sans les 2 flags, ni une valeur Octal ni Hexadécimal n'est autorisée.

Tout ceci avec un isset() comme dans l'exemple et ce en une seule ligne.
Difficile de faire mieux :wink:
Modifié en dernier par Dr@ke le 07 avr. 2010, 10:21, modifié 4 fois.
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

ViPHP
ViPHP | 5462 Messages

07 avr. 2010, 10:10

hello
tu trouveras ta réponse ici
http://www.php.net/manual/fr/function.f ... -array.php (exemple #1)

:wink:

Mammouth du PHP | 985 Messages

07 avr. 2010, 10:15

Y a pas de réponse, vue qu'il n'y a pas de question -> t'es drôle :mrgreen:

Sinon j'ai bien dit -> Difficile :wink:
Modifié en dernier par Dr@ke le 07 avr. 2010, 10:18, modifié 1 fois.
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

ViPHP
ViPHP | 5462 Messages

07 avr. 2010, 10:17

Y a pas de réponse, vue qu'il n'y a pas de question -> t'es drôle :mrgreen:
donc pourquoi ce filtre existe ?
Et surtout quel est son intérêt ?
:shock:

Mammouth du PHP | 985 Messages

07 avr. 2010, 10:19

Ben je l'explique et le démontre, tu n'as pas tout lu amigo :wink:

C'est l'introduction, si tu préfères.
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

ViPHP
ViPHP | 5462 Messages

07 avr. 2010, 10:21

Ben je l'explique et le démontre, tu n'as pas tout lu amigo :wink:

C'est l'introduction, si tu préfère.
hummm, je comprend mieux :mrgreen:

Mammouth du PHP | 985 Messages

07 avr. 2010, 10:22

Ok désolé, j'ai ajouté Réponse :wink:
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.