繁体   English   中英

PHP函数通过变量设置颜色

[英]php function to set color by variable

无论如何要使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语句,则将节省大量时间。

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

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

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

    return "tdr"; 
} 

由于第一个if的第二个检查($ flow> $ low)没有用,因为如果为true,则执行第一个if。 当然,如果没有执行第一个选项,则唯一的选择是其他选项(如果这使得它无用检查)。

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";
}
<?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

暂无
暂无

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

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