2011-02-02 44 views
1
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()

回答

8

不,但您可以改爲使用min(max(intval($whatever), $min), $max)

+1

+1需要一些閱讀,但這是一個很好的解決方案。 – lonesomeday 2011-02-02 16:27:07

+0

TX,這正是我需要的!因爲我討厭它,當我必須爲每個小東西寫我自己的功能:) – Alex 2011-02-02 16:27:49

3

您可以結合minmax

max($min, min(intval($val), $max)) 
1

沒有,但可以在較短的形式寫出:

function xyz($v, $min, $max){ 
    return min(max((int)$min, (int)$x), (int)$max); 
} 
2

回答這個需要知道所有PHP函數,但我不知道任何。但是,您可以簡化代碼:

function($min, $max, $val) { return min($max, max($min, intval($val))); }