繁体   English   中英

php中的unsigned tinyint?

[英]unsigned tinyint in php?

我正在研究一个类来操作php中的html十六进制颜色代码。 在内部,该类将RGB值视为小数。 当我加或减时,我从不希望该值超过255,也不希望'subceed'为零。

如果当然,我可以做一些零碎的事情

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

但那很冗长:P

是否有一种聪明的,一种利可图的方式,我可以将值保持在0到255之间?

您可能会说:$ 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) )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM