【问题标题】:php function to set color by variablephp函数通过变量设置颜色
【发布时间】:2011-11-28 05:32:44
【问题描述】:

无论如何要制作一个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 语句,那将节省大量时间。

【问题讨论】:

    标签: php function variables text colors


    【解决方案1】:

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

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

    由于第一个 else if 中的第二个检查 ($flow > $low) 是无用的,因为如果为真,则执行第一个 if。当然,如果第一个 else if 没有被执行,唯一的选择是最后一个 else if,这使得检查毫无用处。

    【讨论】:

    • 完美!谢谢。对我来说简单易懂。我会投票赞成,但没有权限。
    【解决方案2】:
    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";
    }
    

    【讨论】:

      【解决方案3】:
      <?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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-21
        • 1970-01-01
        • 2011-12-07
        • 2021-04-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多