36966


WEBサイトを作っているのですが、APIから返ってくる数値が一定以上か否かで表示される色を分けをしようとした時に詰まってしまいました。

[code]

    <span class=>
        <?php if(APi >100){
          echo ....
    
[/code]

というふうに条件を設定したとして、100以上だったら赤色でその数値を表示し、以下だったら青で表示するといった場合どのように記述すれば良いのでしょうか･･･  
説明もうまくできなくて申し訳ないのですがお願いいたします。


CC BY-SA 3.0
2017-08-05T08:16:16.993
36961
2017-08-05T14:21:13.707
2017-08-05T14:09:20.130
19110
24742
question
php html css
条件分岐でechoされる数値の色を変更したいのですが


例えばスタイル属性に直接指定する場合は以下のようになります。

[code]

    <?php
    if ($api < 100) {
        $color = 'blue';
    } else {
        $color = 'red';
    }
    ?>
    <span style="color: <?php echo $color; ?>"><?php echo $api; ?></span>
    
[/code]

[三項演算子](http://php.net/manual/ja/language.operators.comparison.php#language.operators.comparison.ternary)を使用すると以下のようにシンプルに書くこともできます。

[code]

    <span class="<?php echo ($api < 100) ? 'blue' : 'red'; ?>"><?php echo $api; ?></span>
    
[/code]

### 補足

  * APi という謎の定数があるので説明を行った方が良いでしょう。
  * if ($api > 100) では「100より大きい」の意味になり、100が含まれないので「100以上」にはなりません。
  * 三項演算子は可読性が落ちる場合があるので、明らかに可読性が向上する場合以外は避けた方がよいでしょう。
  * HTML の中に直接 PHP を記述すると可読性が落ちるので、デザインとロジックは分離した方がよいでしょう。


CC BY-SA 3.0
2017-08-05T14:21:13.707
36966
2017-08-05T14:21:13.707
20043
36961
answer