2017-03-26 15 views
6

Có cú pháp nào để xác định inline nếu và else if statement trong Laravel blade template không?Blade inline if và else if statement

Thông thường, syntaxt vì nếu và tuyên bố khác sẽ là:

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

tôi sẽ tại muốn bao gồm else if tuyên bố, có thể như vậy?

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

Trả lời

-1

Tôi tin rằng đó là hai câu lệnh if if another in one line. Tôi không thể tưởng tượng cách để làm cho nó nội tuyến nhưng tôi đã có thể làm một cái gì đó như thế này.

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

hãy nhớ rằng không phải mọi mã ngắn đều tốt. trong ví dụ của bạn không có cách nào duy nhất để đánh này else if bởi vì bạn đang nói

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"; } 

này là sai, bạn không thể sử dụng hai else s tương ứng. bạn đã cấu trúc điều kiện của bạn như

if (condition) { 
    # code... 
} elseif (condition) { 
    # code... 
} else { 

} 

giống nhau ở các nhà khai thác ternary

(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 */); 

và hãy cẩn thận của (, ) trong điều kiện thứ hai.

và khi bạn thấy mã của mình sẽ trở nên khó khăn, khó đọc và khó theo dõi. do đó hãy sử dụng if else if nếu bạn có nhiều điều kiện chuyển đổi và sửa đổi logic của bạn.

7

Bạn có thể sử dụng mã này trong lưỡi laravel:

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

Hãy thử mario này!