我发现我经常最终编写一个我总是称之为“ clamp()
”的函数,它是一种和的min()
组合max()
。此功能是否有标准的“规范”名称?
它总是看起来像这样:
function clamp($val, $lower, $upper)
{
if ($val < $lower)
return $lower;
else if ($val > $upper)
return $upper;
else
return $val;
}
或者简单地使用内置min()
和max()
函数:
function clamp($val, $lower, $upper)
{
return max($lower, min($upper, $val));
}
存在变体:您还可以检查无效输入 where lower > upper
,然后抛出异常或反转输入。或者您可以忽略输入的顺序并将其称为三个函数的中值,但这可能会造成混淆。