使用IF语句的结果来执行第二个IF语句

时间:2020-01-27 04:20:36

标签: php if-statement

第一个输出结果的IF语句的结果。我想使用两个输出值来操纵第二条IF语句,以获取$loadedWeightUSTons$emptyWeight的值,只有一个在任何给定时间返回一个值。我尝试在每个if或ifelse语句中使用$loadWeightUSTons or $emptyWeight都无济于事。有人可以帮忙吗?

第一份IF声明

if ($loadWeightUSTons == 0) {
            echo "E";
        }else {
            echo "L";
        }
    echo "</td>";
    echo "<td>";
    if ($loadWeightUSTons == 0){
        $emptyWeight = "Not Found!";
        foreach($railunit->railUnit as $ru) {
            if((string)$ru->rvXMLfilename == $rvXMLfilename){
                $emptyWeight = (string)$ru->unitWeight;
            } 
        }
        echo $emptyWeight;
    }else{
      echo  $loadWeightUSTons;
            }

第二个IF声明

if ($loadWeightUSTons <= 10) {
            echo "X";
        } elseif ($loadWeightUSTons <= 20){
            echo "XX";
        } elseif ($loadWeightUSTons <= 30){
            echo "XXX";
        } elseif ($loadWeightUSTons <= 40){
            echo "XXXX";
        } elseif ($loadWeightUSTons <= 50){
            echo "XXXXX";
        } elseif ($loadWeightUSTons <= 60){
            echo "XXXXXX";
        } elseif ($loadWeightUSTons <= 70){
            echo "XXXXXXX";
        } elseif ($loadWeightUSTons <= 80){
            echo "XXXXXXX";
        } elseif ($loadWeightUSTons <= 90){
            echo "XXXXXXXX";
        } elseif ($loadWeightUSTons <= 100){
            echo "XXXXXXXXX";
        } elseif ($loadWeightUSTons <= 110){
            echo "XXXXXXXXXX";
        } elseif ($loadWeightUSTons <= 120){
            echo "XXXXXXXXXXX";
        } elseif ($loadWeightUSTons <= 130){
            echo "XXXXXXXXXXXX";
        } elseif ($loadWeightUSTons <= 140){
            echo "XXXXXXXXXXXXX";
        } elseif ($loadWeightUSTons <= 150){
            echo "XXXXXXXXXXXXXX";
        }  else{
            echo "Error!";
        } 

2 个答案:

答案 0 :(得分:0)

我最终接受了上面的建议,并将其应用于下面的IF声明中。它取代了笨重的if elseif语句。

 if ($loadWeightUSTons == 0){
        echo str_repeat('X', ceil($emptyWeight/10));
      }else{
        echo str_repeat('X', ceil($loadWeightUSTons/10));
      }

答案 1 :(得分:0)

if ($loadWeightUSTons > 150) {
    echo "Error!";
} else {
    echo str_repeat("X",ceil($loadWeightUSTons/10));
}

但是我可能建议仅按原样输出数字。 拥有那些XXX并不比数字多。 这将带来更好的用户体验。 尤其是如果您将该数字限制为150,并且在那里有诸如1 234 567 890之类的整数值。