-1

我想比较 3 个区域的数字

例如:

当 $a > 0 且 < 80 时回显红色

当 $a > 80 且 < 100 时回显黄色

当 $a > 100 echo RED

我的代码现在的问题是:当 $a=80 我没有结果

这是我的代码:

<?php

$a=80;

if(($a > 0) && ($a < 80))
{
echo('RED');
}
if(($a > 80) && ($a < 100))
{
echo('YELLOW');
}
if($a > 100)
{
echo('GREEN');
}

?>

你可以在这里看到 $a=79 的测试

并且这里有 $a=80

我怎么能意识到这一点?也许以更小更好的方式:D

不知道这是否重要.. 但是 $a 可以是 80.1 并且可以大于 100

4

3 回答 3

2

您需要确定要80成为哪种颜色。在这个例子中,我会做到的RED

$a=80;

if(($a > 0) && ($a <= 80)){
    echo('RED');
}elseif(($a > 80) && ($a < 100)){
    echo('YELLOW');
}elseif($a > 100){
    echo('GREEN');
}

你注意到=$a <= 80

此外,您将遇到同样的问题,100因此0您也需要处理这些问题。

于 2012-11-17T19:34:42.307 回答
1

您可以使用<=(小于或等于)和>=(大于或等于)符号来缩小此差距:

if(($a > 0) && ($a <= 80)) {
    echo('RED');
} if(($a > 80) && ($a <= 100)) {
    echo('YELLOW');
} if($a > 100) {
    echo('GREEN');
}
于 2012-11-17T19:34:51.463 回答
1

无需为每个语句执行 2 个条件,因为您可以这样做

<?php
    $a = 80;
    if ($a > 0) {
        if ($a <= 80) echo "RED";
        else if ($a <= 90) echo "YELLOW";
        else echo "GREEN";
    }
?>

更新:重写我的代码以适应from 0 to 80 RED from 80.000001 to 90 YELLOW

于 2012-11-17T19:36:51.803 回答