Comment puis-je vérifier si un nombre donné se trouve dans une plage de nombres ?
Réponses
Trop de publicités?L'expression :
($min <= $value) && ($value <= $max)
sera vrai si $value
est entre $min
et $max
, inclusivement
Consultez les documents PHP pour en savoir plus sur les opérateurs de comparaison
Bobz
Points
173
Doctus
Points
1113
Vous pouvez créer une petite fonction d'aide pour cela :
/**
* Determines if $number is between $min and $max
*
* @param integer $number The number to test
* @param integer $min The minimum value in the range
* @param integer $max The maximum value in the range
* @param boolean $inclusive Whether the range should be inclusive or not
* @return boolean Whether the number was in the range
*/
function in_range($number, $min, $max, $inclusive = FALSE)
{
if (is_int($number) && is_int($min) && is_int($max))
{
return $inclusive
? ($number >= $min && $number <= $max)
: ($number > $min && $number < $max) ;
}
return FALSE;
}
Et vous l'utiliseriez comme ça :
var_dump(in_range(5, 0, 10)); // TRUE
var_dump(in_range(1, 0, 1)); // FALSE
var_dump(in_range(1, 0, 1, TRUE)); // TRUE
var_dump(in_range(11, 0, 10, TRUE)); // FALSE
// etc...
lonesomeday
Points
95456