2017-03-26 19 views
6

インラインifとelse ifステートメントをLaravelブレードテンプレートで指定する構文はありますか?ブレードインラインifとelse ifステートメント

通常、場合とelse文は次のようになりためsyntaxt:

{{ $var === "hello" ? "Hi" : "Goodbye" }} 

私は今、if文を他に含めたい、これは可能ですか?

{{ $var === "hello" ? "Hi" : "Goodbye" else if $var ==="howdie ? "how" : "Goodbye""}} 

答えて

-1

私はこれが1行のelse文であると信じています。私はそれをインラインにする方法を想像できないが、私はこれのような何かをやっただろう。

@if($var=="hello" || $var=="Hi") 
    {{$var === "hello" ? "Hi" : "Howdie"}} 
@else 
    {{"Goodbye"}} 
@endif 
4

すべての短いコードが良いコードであるとは限りません。あなたは、これはあなたがそれぞれ2つのelse Sを使用することはできません間違っている

if($var === "hello") 
    { 
     // if the condetion is true 
     "Hi"; 
    } 
else 
    { 
     // if the condetion is false 
     "Goodbye"; 
    } 
// error here 
else if($var ==="howdie") 
    { "how"; } 
else 
    { "Goodbye"; } 

を言っているので、あなたの例では、このelse ifをヒットする単一の方法はありません。あなたは三項演算子を

(condition) ? /* value to return if first condition is true */ 
: ((condition) ? /* value to return if first condition is true */ 
: /* value to return if condition is false */); 

​​

同じようなあなたの条件を構造化し、第二の条件で()に注意しました。

あなたのコードはちょっと難解で、読めなくなり、トレースするのが難しいでしょう。複数の条件が に切り替わっている場合はif else ifを使用し、ロジックを改訂してください。

7

あなたはlaravelブレードでこのコードを使用することができます。

{{ $var === "hello" ? "Hi" : ($var ==="howdie ? "how" : "Goodbye") }} 
1
{{ ($var === "hello") ? "Hi" : ($var ==="howdie") ? "how" : "Goodbye""}} 

このmarioをお試しください!

関連する問題