Bir değişkene dayalı bir metnin rengini değiştirmek için en kolay yolu nedir?
Örneğin: $ var 1-5 arasında ise, yeşil. Portakal, 6-10 arasında. 11'den yüksek, Kırmızı.
Ben bu eklenti bulundu:
http://www.jnathanson.com/blog/client/jquery/heatcolor/index.cfm#examples
Renk değerleri sabitler tarafından endeksli? Ben karma harita hazırlayacak
$colorMap[0] = '#00FF00'; //green
$colorMap[1] = '#0000FF'; //blue
$colorMap[2] = '#FF0000'; //red
$colorMap[3] = '#330000'; //dark red
ve benzerleri. Sonra CSS kullanın
<span style="color: <?php echo $colorMap[$var]; ?>;">desired color</span>
Ben CSS renkleri kullanmak ve aynı zamanda 11 numara sizin kuralları geçersiz cevapların çoğu yapma göre herhangi bir renk eşleşmiyor gerçeğini vurgulamak gerekir :)
<?php
$color=getColor(11);
function getColor($n){
// Is number between 1 and 5?
if($n>=1 && $n<=5) return "green";
// Is number between 6 and 10?
if($n>=6 && $n<=10) return "orange";
// Is number greater than 11
if($n>11) return "red";
// Return default (black) for all other numbers
return "black";
}
?>
<span style='color:<?=$color?>'>Text</span>
Ben CSS işi edelim ... rengini şekillendirme yerine inline CSS sınıfları kullanmak istiyorsunuz ...
<?php
$var = 5;
$class = (($var < 6) ? 'greenclass' : (($var < 11) ? 'orangeclass' : 'redclass' ))
?>
<span class="<?php echo $class?>">text</div>
Bu yanıtların hiçbiri beklediğiniz biriyseniz, size gerçekleştirmek için tam olarak ne yapmak istiyorlar? Eğer fazla bilgi verebilir misiniz?
Kimse bu oldukça esnek daha aralıkları ile çalıştığını varsayarak:
function getProperColor($range, $value)
{
foreach($range as $key => $color)
{
if ($value <= $key)
return $color;
}
return $color;
}
$colorRange = array(
5 => 'green',
10 => 'orange',
11 => 'red'
);
for($i=-1;$i<16;$i+=2)
{
echo "$i:" . getProperColor($colorRange, $i) . "\n";
}
Bu irade çıktı:
-1:green
1:green
3:green
5:green
7:orange
9:orange
11:red
13:red
15:red