Я работаю над классом для управления шестнадцатеричными цветовыми кодами HTML в php. Внутренне, класс рассматривает значения RGB как десятичные числа. Когда я добавляю или вычитаю, я никогда не хочу, чтобы значение превысило 255, ни нуль 'subceed'.
Если курс, я могу сделать что-то по частям как
if ( $val > 255 ) {
$val = 255;
}
if ( $val < 0 ) {
$val = 0;
}
Но это является подробным :P
Существует ли умный, один-linish способ, которым я могу заставить значение оставаться между 0 и 255?
Вы могли бы сказать что-то вроде: $ val = max (0, min (255, $ val));
Использование побитового оператора ИЛИ будет работать
if(($num | 255) === 255) { /* ... */ }
Пример:
foreach (range(-1000, 1000) as $num) {
if(($num | 255) === 255) {
echo "$num, ";
};
}
распечатает все числа от 0 до 255.