unsigned tinyint в php?

Я работаю над классом, чтобы манипулировать html шестнадцатеричными цветовыми кодами в php. Внутри класс рассматривает значения RGB как десятичные числа. Когда я добавляю или вычитаю, я никогда не хочу, чтобы значение превышало 255, а «не начиналось» с нуля.

Если курс, я могу сделать что-то по частям

if ( $val > 255 ) { $val = 255; } if ( $val < 0 ) { $val = 0; } 

Но это многословно: P

Есть ли умный, однолинейный способ, я могу заставить значение оставаться от 0 до 255?

Solutions Collecting From Web of "unsigned tinyint в php?"

Вы могли бы сказать что-то вроде: $ val = max (0, min (255, $ val));

Использование побитового оператора OR будет работать

 if(($num | 255) === 255) { /* ... */ } 

Пример:

 foreach (range(-1000, 1000) as $num) { if(($num | 255) === 255) { echo "$num, "; }; } 

будет распечатывать все числа от 0 до 255.

Или вы можете быть тем парнем, который использует вложенных троичных операторов.

например.

 ( ($num > 255) ? 255 : ( ($num < 0) ? 0 : $num) )