php
  • ternary-operator
  • 2016-10-16 7 views -2 likes 
    -2

    イム:if文を三項演算子に変換するにはどうすればいいですか?三項演算子の文が</p> <p>ここに私のコードだ場合は変換しようとし

    if($today >= $visa_expiry) { 
        echo "style='background-color : red; font-weight: bold; color: white; font-size: 13'"; 
    } 
    
    if($today <= $visa_expiry) { 
        echo "style='background-color : yellow; font-weight: bold; color: white; font-size: 13'"; 
    } 
    
    if($today == $visa_expiry) { 
        echo "style='background-color : green; font-weight: bold; color: white; font-size: 13'"; 
    } 
    

    三項演算子に

    誰かが私を助けることができますか?声明は一例

    +1

    によって示されているどのようにネストされた三項演算子でこれについて移動する

    あなたは上記のが正しいですか? '$ visa_expiry'が' $ today'になると、3つの 'echo'をすべて実行します。 –

    +2

    あなたはすべきではありません、そうでなければif/elseならelse \ – nogad

    +0

    @TeKoただの例です。私の投稿を編集します。 –

    答えて

    1

    である私の場合の可能な回避策は、三元リターン偽の前の時に別の三元を使用するようになること:あなた

    NOTEありがとう

    <?php 
    $today = 5; 
    $expiry = 7; 
    $visaexpiry = ($today < $expiry ? 'yellow': ($today ==$expiry? 'green': ($today>$expiry? 'red': 'nothing'))); 
    echo $visaexpiry; 
    
    ?> 
    
    0

    を私は本当に、なぜ表示されませんここでは三項を使いたいでしょう。他の人が触れたように、これはif/else if/elseでなければなりません。さらに、あなたの例では、3つの条件がすべて同時に満たされる可能性があります。このがいずれも満たされていない場合であっても、両方の条件を評価し、$bg変数を割り当てるということ

    $bg = "green"; // default, assuming $today == $visa_expiry 
    $bg = $today > $visa_expiry ? "red" : $bg; 
    $bg = $today < $visa_expiry ? "yellow" : $bg; 
    

    注:

    とにかく

    は、ここ三項演算子でこれを表現する1つの可能な方法の簡略化した例でありますまで2回まで。いいですが、実際の解決策です。 Mawia HL

    関連する問題