我用PHP编写了一个函数来“钳制”数字,但是我想知道这个函数是否在语言中就存在。
我阅读了数学部分的PHP.net文档,但我找不到它。
基本上,我的函数接受一个变量、一个可能值的数组和一个默认值,这是我的函数的签名:
function clamp_number($value, $possible_values, $default_value)如果$value与任何$possible_values都不匹配,则其缺省值为$default_value
我认为如果PHP已经在本地提供了函数,我的函数会更快,因为我在程序中经常使用它。
发布于 2013-07-16 05:51:04
$value = in_array($value, $possible_values) ? $value : $default_value;发布于 2016-02-17 01:11:21
看起来你只是想在一个集合中找到一个数字。一个实际的钳位函数将确保一个数字在2个数字内(一个下限和一个上限)。所以psudo代码将是clamp(55, 1, 10)将产生10,clamp(-15, 1, 10)将产生1,而clamp(7, 1, 10)将产生7。我知道你在寻找更多的in_array方法,但对于那些从谷歌来的人来说,这里是你如何在不创建函数(或将其转换为函数)的情况下使用PHP的方法。
max($min, min($max, $current))例如:
$min = 1;
$max = 10;
$current = 55;
$clamped = max($min, min($max, $current));
// $clamped is now == 10一种简单的钳制方法是:
function clamp($current, $min, $max) {
return max($min, min($max, $current));
}https://stackoverflow.com/questions/17664565
复制相似问题