Laravel - Blade 输出我添加到的变量

Laravel - Blade outputs variable that i add to

作为 laravel 的新手,这个相当简单的事情让我感到困惑。注意下面

{{ $i = 0}}
@foreach($openhours as $id => $day)
    <tr>
        <td>{{$id}}</td>
        <td>{{$day}}</td>
        <td>{{$note[$i]}}</td>
    </tr> 
    {{ $i++ }}
@endforeach

如上所示,我只是遍历一个数组,我还从另一个数组输出特定索引。然后在每次迭代时向索引添加一个。以上有效,但我的问题是 blade 也输出 $i

我怎样才能避免这种情况?

您可以通过直接在 blade 中使用 PHP 标签来防止这种行为。尽管这违背了整个目的,但如果您必须这样做,这通常表明您没有做正确的事情。然而这里有一个修复。

<?php $i = 0 ?>
@foreach($openhours as $id => $day)
<tr>
    <td>{{$id}}</td>
    <td>{{$day}}</td>
    <td>{{$note[$i]}}</td>
</tr> 
<?php $i++ ?>
@endforeach

Blade 中的大括号转换为 <?php echo ?> 因此显示您的变量是因为您已完成此操作 <?php echo i++ ?>