Когда вы повторяете задачу снова и снова и хотите повторно использовать код, вы должны написать новую функцию. В этих примерах предполагается, что вы хотите использовать операторы >=
и <=
, хотя часто я бы использовал >=
и <
для включения минимального значения и исключения максимального значения.
PHP-абстракция:
function between( $val, $min, $max )
{
return $val >= $min && $val <= $max;
}
Абстракция JavaScript:
if ( !Number.prototype.between )
{
Number.prototype.between = function(min,max){
return this >= min && this <= max;
};
}
Для вашей проблемы с диапазонами HTTP я бы использовал нижнюю включающую форму как:
if ( between( $val, 200, 300 ) )...
Конечно, имеет смысл изменить порядок параметров так, чтобы объявление было:
between( 200, $val, 300 );
Но на самом деле это зависит от вас.
Еще один абстрактный пример:
function between( $val, $min, $max, $mode = null )
{
switch ( $mode )
{
case INCLUSIVE:
return $val >= $min && $val <= $max;
case EXCLUSIVE:
return $val > $min && $val < $max;
case TOP_INCLUSIVE:
return $val > $min && $val <= $max;
case BOTTOM_INCLUSIVE:
default:
return $val >= $min && $val < $max;
}
}