function intvalminmax($whatever, $min = 1, $max = 100){ if(intval($whatever) < $min) return 1; elseif(intval($whatever) > $max) return $max; return intval($whatever); }
есть ли встроенная функция PHP, которая делает что-то подобное?
нет, но вы можете использовать min(max(intval($whatever), $min), $max) вместо.
min(max(intval($whatever), $min), $max)
Вы можете объединить min и max:
min
max
max($min, min(intval($val), $max))
Ответ на этот вопрос требует знания всех функций PHP, но я не знаю ни о каких. Тем не менее, вы можете сделать ваш код проще:
function($min, $max, $val) { return min($max, max($min, intval($val))); }
Нет, но можно записать в более короткой форме:
function xyz( $v, $min, $max ){ return min(max( (int)$min, (int)$x), (int)$max); }