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)

+1

+1需要一些阅读,但这是一个很好的解决方案。 – lonesomeday 2011-02-02 16:27:07

+0

TX,这正是我需要的!因为我讨厌它,当我必须为每个小东西写我自己的功能:) – Alex 2011-02-02 16:27:49

您可以结合minmax

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))); }