反转函数输出

时间:2015-09-23 15:46:51

标签: php

我从这里得到了一些代码:Color coding based on number

function GreenYellowRed($number) {
  $number--; // working with 0-99 will be easier

  if ($number < 50) {
    // green to yellow
    $r = floor(255 * ($number / 50));
    $g = 255;

  } else {
    // yellow to red
    $r = 255;
    $g = floor(255 * ((50-$number%50) / 50));
  }
  $b = 0;

  return "$r,$g,$b";
}

然后我按百分比输出调用它......就像这样:

"<span style='background-color: rgb(" . GreenYellowRed($percentage) . ")'>" . $percentage . "%</span>"

它按预期工作,但它使较低的数字为绿色,较高的数字为红色。在我的情况下,低百分比是坏的,高百分比是好的,但我不能解决改变什么,使其反向工作,以便高数字变绿,低数字变红。

我尝试了一些事情,但它似乎永远不会做我想要的......有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

Chnge this:

return "$r,$g,$b";

到此:

return "$g,$r,$b";

答案 1 :(得分:-2)

当我想到它时,太容易了!

我所要做的就是在if语句的每一侧交换$ r和$ g,如下所示:

function GreenYellowRed($number)
            {
                $number--; // working with 0-99 will be easier

                if ($number < 50) {
                // green to yellow
                $g = floor(255 * ($number / 50));
                $r = 255;

                } else {
                // yellow to red
                $g = 255;
                $r = floor(255 * ((50-$number%50) / 50));
                }
                $b = 0;

                return "$r,$g,$b";
            }

全部排序:)