php imzasız tinyint?

2 Cevap php

Ben php html hex renk kodları işlemek için bir sınıf üzerinde çalışıyorum. Dahili olarak, sınıf ondalık olarak RGB değerlerini davranır. Ben eklenerek veya çıkarılarak ediyorum, ben değeri 255 ne 'subceed' sıfır aşmak istemiyorum.

Tabii ki, ben böyle parça parça bir şey yapabilirsiniz

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

Ama bu ayrıntılı var: P

Is there a clever, one-linish way I can get the value to stay between 0 and 255?

2 Cevap

bitwise OR operator çalışacak kullanma

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

Örnek:

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

0'dan 255'e kadar tüm sayıları yazdırmak istiyorum.

Yoksa iç içe geçmiş üçlü operatörleri kullanır o adam olabilir.

örn.

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