php函数按变量设置颜色

时间:2011-09-30 06:24:56

标签: php function variables text colors

无论如何要制作一个PHP功能吗?似乎第二组变量杀死了我试图编写的任何函数。

  $flow = (15);
  $low = (10);
  $good =(20);
  $high =(30);


if ($flow <= $low)
   $class = "tdy";
else if (($flow > $low) && ($flow <= $good))
   $class = "tdg";
else if ($flow >= $high)
   $class = "tdr";

我已经尝试用这个来创建一个函数,但它只是没有高变量。 if else语句单独运行变量。如果我可以重置变量并在每个实例上使用函数调用if else语句,那将节省大量时间。

3 个答案:

答案 0 :(得分:1)

我认为你的逻辑可以更简单:

function getColor($flow, $low, $good) { 
    if ($flow <= $low) 
        return "tdy"; 

    if ($flow <= $good) 
        return "tdg"; 

    return "tdr"; 
} 

由于第二次检查($ flow&gt; $ low)在第一个if中是无用的,因为如果这是真的,则执行第一个if。当然,如果第一个如果没有被执行,那么唯一的选择是最后一个,如果这使得无法检查。

答案 1 :(得分:0)

function getColor($flow, $low, $good, $high) {
    if ($flow <= $low)
        return "tdy";
    else if (($flow > $low) && ($flow <= $good))
        return "tdg";
    else if ($flow >= $high)
        return "tdr";
}

答案 2 :(得分:0)

<?php
$def = array(10=>'tdy',20=>'tdg',30=>'tdr');

foreach(array(9,10,11,19,20,21,29,30,31) as $i) {
    printf("%02d %s\n", $i, foo($i, $def));
}

function foo($val, $sel) {
    foreach($sel as $k=>$v) {
        if ( $val<=$k ) {
            return $v;
        }
    }
    return end($sel);
}

打印

09 tdy
10 tdy
11 tdg
19 tdg
20 tdg
21 tdr
29 tdr
30 tdr
31 tdr