PHP - 带最小,最大参数的intval()
问题描述:
function intvalminmax($whatever, $min = 1, $max = 100){
if(intval($whatever) < $min) return 1;
elseif(intval($whatever) > $max) return $max;
return intval($whatever);
}
是否有任何内置的PHP函数可以做到这一点?PHP - 带最小,最大参数的intval()
答
不,但您可以改为使用min(max(intval($whatever), $min), $max)
。
答
您可以结合min
和max
:
max($min, min(intval($val), $max))
答
没有,但可以在较短的形式写出:
function xyz($v, $min, $max){
return min(max((int)$min, (int)$x), (int)$max);
}
答
回答这个需要知道所有PHP函数,但我不知道任何。但是,您可以简化代码:
function($min, $max, $val) { return min($max, max($min, intval($val))); }
+1需要一些阅读,但这是一个很好的解决方案。 – lonesomeday 2011-02-02 16:27:07
TX,这正是我需要的!因为我讨厌它,当我必须为每个小东西写我自己的功能:) – Alex 2011-02-02 16:27:49