获取foreach中对象的位置(索引)?

时间:2018-06-14 19:57:06

标签: php laravel

我的视图中有一个简单的foreach块,如下所示。

@foreach ($teams as $key => $team)
{{ str_ordinal($key + 1) }}
@endforeach

现在我正在显示密钥,虽然它并不完全准确。这是一张图片: https://i.imgur.com/0pvUKF5.png

如何显示当前迭代的实际位置?我通过我的teams集合订购,但我不确定如何在该循环中获得当前交互的位置?

3 个答案:

答案 0 :(得分:3)

您可以使用$loop->index获取索引

答案 1 :(得分:1)

您可以在传递给模板之前将array_values应用于您的数据:

array_values($teams);

或者,根据此https://laravel.com/docs/5.6/blade#the-loop-variable,您可以使用特殊的$loop变量。我想您需要$loop->iteration属性(以1开头)或$loop->index(以0开头):

@foreach ($teams as $key => $team)
    {{ $loop->iteration }}
@endforeach

答案 2 :(得分:1)

使用for循环代替foreach。你会按顺序得到它们。

$count = count($teams) ;
for($i=1;$i<=$count;$i++) {
    // your code here using $i as the position 
}