我有一个这样的功能:
<?php
function keepInRange($n){
$min = 5;
$max = 15;
if ( $n < $min ) {
$res = $min;
} elseif ( $n > $max ) {
$res = $max;
} else {
$res = $n;
}
return $res;
}
它总是返回一个介于$min
和之间的数字$max
。它也有效,但对我来说似乎不是专业人士。我认为它可以更好(没有这些条件)。知道如何让它更短更干净吗?
如果您试图使其更短(并且可能更干净)并删除这些if
语句,您可以使用max()
和min()
函数:
function keepInRange($n){
$min = 5;
$max = 15;
return max(min($max, $n), $min);
}
同样正如@admcfajn 提到的,您可以传递$min
和$max
作为参数以使函数更灵活:
function keepInRange($n, $min = 5, $max = 15){
return max(min($max, $n), $min);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句