2016-07-18 96 views
2

在我的刀片代碼中,我需要一個計數器來給予由foreach循環唯一id呈現的div。爲此目的,我在我的刀模板這樣創建的變量:在不顯示它的情況下修改laravel blade變量

{{ $counter = 0 }} 

我剛好與{{ $counter = 0 }}

和以後輸出它使用它的HTML,我增加這樣的:{{ $counter++ }}

這一切都像一個魅力,除了在{{ $counter++ }}它不僅增量變量,它也將其輸出到視圖。

有什麼辦法可以防止這種情況發生?

+0

在Laravel 5.3中@if($ loop-> first) 在第一次迭代中做一些事情。 @endif @if($ loop-> last) 在最後一次迭代中做些什麼。 @ endif' –

+1

這是一個很酷的功能,但我實際上需要一個數組中的每個項目,不僅是拳頭和最後一個。我找不到很多有關循環變量的文檔,如果它包含比第一個和最後一個更多的任何想法? – ErikL

+1

不好,但工作版本'<?php $ counter ++;?>' –

回答

1

在上刀模板第一個加入的邏輯是一種不好的做法,但有時我們是被迫這樣做,在這種情況下,你可以使用PHP標籤這樣的:

<?php $counter++; ?>

另一種方式在Laravel 5.4上做如下docs表示:

在某些情況下,將PHP代碼嵌入到視圖中很有用。您 可以使用刀片@php指令到模板中執行純PHP 塊:

@php 
    $counter++; 
@endphp 

如果您對數組鍵的位置,你可以用它在@foreach這樣的:

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