Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как ограничить число диапазоном

Короткий ответ

Вложите min() в max(): первое ограничивает сверху, второе — снизу:

<?php
 
function clamp(int $value, int $min, int $max): int
{
    return max($min, min($max, $value));
}
 
echo clamp(150, 1, 100), ' ', clamp(-5, 1, 100), ' ', clamp(42, 1, 100);

Результат:

100 1 42

Проверка без изменения

Если нужно только узнать, входит ли число в диапазон:

<?php
 
$age = 25;
 
var_dump($age >= 18 && $age <= 65);

Результат:

bool(true)

Функции из этого ответа

  • min — Возвращает наименьшее из значений.
  • max — Возвращает наибольшее из значений.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.