是否有语法在Laravel刀片模板中指定内联if和else if语句?
通常,if和else语句的syntaxt将是:
{{ $var === "hello" ? "Hi" : "Goodbye" }}
我现在想要包含else if语句,这可能吗?
{{ $var === "hello" ? "Hi" : "Goodbye" else if $var ==="howdie ? "how" : "Goodbye""}}
答案 0 :(得分:23)
您可以在laravel blade中使用此代码:
{{ $var === "hello" ? "Hi" : ($var ==="howdie ? "how" : "Goodbye") }}
答案 1 :(得分:4)
记住不是每个短代码都是好的。在你的例子中,没有单一的方法可以点击else if
,因为你说的是
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) {
# code...
} elseif (condition) {
# code...
} else {
}
三元运算符中的相同
(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
并修改你的逻辑。
答案 2 :(得分:1)
<select id="days" class="Polaris-Select__Input" name="days" aria-invalid="false">
<option value="10" @if($settingsData->days == "10") selected @endif >at 10 Days</option>
</select>
@if($ settingsData-> days ==“ 10”)已选择@else未选择@endif
答案 3 :(得分:-1)
我相信这是一行中的两个if else语句。我想不出方法让它内联,但我会做这样的事情。
@if($var=="hello" || $var=="Hi")
{{$var === "hello" ? "Hi" : "Howdie"}}
@else
{{"Goodbye"}}
@endif