Existe-t-il une syntaxe pour spécifier l'instruction if et else if en ligne dans le modèle de lame Laravel?
Normalement, la syntaxe de l'instruction if and else serait:
{{ $var === "hello" ? "Hi" : "Goodbye" }}
Je voudrais maintenant inclure une autre déclaration if, est-ce possible?
{{ $var === "hello" ? "Hi" : "Goodbye" else if $var ==="howdie ? "how" : "Goodbye""}}
Vous pouvez utiliser ce code dans la lame laravel:
{{ $var === "hello" ? "Hi" : ($var ==="howdie ? "how" : "Goodbye") }}
rappelez-vous que tous les codes courts ne sont pas bons. dans votre exemple, il n'y a pas de moyen unique pour atteindre ce else if
parce que tu dis
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"; }
c'est faux, vous ne pouvez pas utiliser deux else
s respectivement. vous avez structuré vos conditions comme
if (condition) {
# code...
} elseif (condition) {
# code...
} else {
}
la même chose chez les opérateurs ternaires
(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 */ );
et méfiez-vous de (
, )
dans la deuxième condition.
et comme vous le voyez, votre code va être difficile, illisible et difficile à tracer. alors utilisez le if else if
si vous avez plusieurs conditions de commutation et révisez votre logique.
<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") sélectionné @else non sélectionné @endif
Je pense que ce sont deux déclarations sinon sur une seule ligne. Je ne peux pas imaginer un moyen de le rendre en ligne, mais j'aurais fait quelque chose comme ça.
@if($var=="hello" || $var=="Hi")
{{$var === "hello" ? "Hi" : "Howdie"}}
@else
{{"Goodbye"}}
@endif