修改laravel刀片变量而不显示它

时间:2016-07-18 17:47:08

标签: php laravel blade laravel-blade

在我的刀片代码中,我需要一个计数器,以给出由foreach循环唯一id呈现的div。为此,我在我的刀片模板中创建了一个变量,如下所示:

{{ $counter = 0 }}

我在html中使用它,只需输出{{ $counter = 0 }}

即可

以及后来,我按照这样增加:{{ $counter++ }}

这一切都像一个魅力,除了在{{ $counter++ }}它不仅增加变量,它还将它输出到视图。

有什么方法可以阻止这种情况吗?

2 个答案:

答案 0 :(得分:2)

首先在刀片模板上添加逻辑是一种不好的做法,但有时我们被迫这样做,在这种情况下你可以像这样使用PHP标签:

<?php $counter++; ?>

另一种在Laravel 5.4上以docs表示的方法表明:

  

在某些情况下,将PHP代码嵌入到视图中非常有用。您   可以使用Blade @php指令执行一个普通的PHP块   在您的模板中:

@php
   $counter++;
@endphp

如果您在阵列键上有位置,可以在@foreach上使用它,如下所示:

@foreach ($variable as $key => $value) 
    //current position = $key
    # code...
@endforeach

答案 1 :(得分:1)

我使用此扩展名在刀片上设置变量: https://github.com/RobinRadic/blade-extensions

你可以使用简单的@set($ count,1)或你想要的任何值。