2017-03-18 9 views
0

Ich habe etwas über ternäre Operator gehört, aber ich Anfänger Art und wissen nicht, wie es zu benutzen, ich versuche, dies zu machen:Wie zu verwenden, wenn und sonst in echo-Anweisung?

    echo '<div> 
          '.if(LoginCheck($this->db) == true):.' 
          <span class="option1"></span> 
          '.else:.' 
          <span class="option1"></span>        
          '.endif;.' 
          </div>'; 
+0

dieses http://stackoverflow.com/questions/17981723/how-to-write-a-php-ternary-operator helfen kann – b2ok

+0

Nur ein kurzer Gedanke. Nur weil du etwas tun kannst, bedeutet das nicht, dass du es tun solltest - Es kann nur allzu leicht sein, mit einem unlesbaren Durcheinander zu enden. Lesbarkeit (und Verständlichkeit) ist auf lange Sicht besser. –

Antwort

0

Ja der ternäre Operator ist, was Sie suchen für, aber Sie müssen sie verketten, um die if-else-Anweisung zu erhalten.

echo '<div>'.(LoginCheck($this->db) == true ? 
    '<span class="option1">' : '<span class="option2"></span>').'</div>' 

Die Auswertung Aussage kommt vor dem Fragezeichen (?) Und es gibt keinen if Tag vor der Anweisung zu setzen. Es ist nur der Ausdruck, der als wahr/falsch ausgewertet wird, und dann das Fragezeichen, und dann ist die erste Aussage, wenn der Ausdruck truthig ist, die zweite Aussage, getrennt von der ersten durch einen Doppelpunkt (:), wenn der Ausdruck nicht ist truthy.

Look für weitere Informationen here.

0

Soviel ich verstehe Sie nicht 'if-else' Anweisung in 'Echo' verwenden können. Sie müssen umgekehrt verwenden. Sie können Ihr 'Echo' in der 'if-else' Anweisung verwenden. Im Folgenden Code könnte Ihnen helfen:

 

    $html = "&ltdiv>"; 

    if(LoginCheck($this->db) == true){ 
     $html .= "&ltspan class='option1'></span>"; 
    }else{ 
     $html .= "&ltspan class='option2'></span>"; 
    } 

    $html .= "</div>"; 

    echo $html 

+0

eigentlich können Sie, die Beispiele von Jungs sind einfach perfekt – calljhon