106 votes

Comment vérifier si un entier se trouve dans une plage de nombres en PHP ?

Comment puis-je vérifier si un nombre donné se trouve dans une plage de nombres ?

181voto

Dancrumb Points 11918

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

53voto

Bobz Points 173

Pourrait vous aider :

if ( in_array(2, range(1,7)) ) {
    echo 'Number 2 is in range 1-7';
}

http://php.net/manual/fr/function.range.php

23voto

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...

12voto

lonesomeday Points 95456
if (($num >= $lower_boundary) && ($num <= $upper_boundary)) {

Vous pouvez ajuster les opérateurs de comparaison si vous souhaitez que les valeurs limites ne soient pas valides.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X