Laravel 4 Laravel 4在提供计数变量时从foreach循环添加数字?

Laravel 4 Laravel 4在提供计数变量时从foreach循环添加数字?,laravel-4,Laravel 4,我正在将数组$cats传递给我的laravel模板视图。它是来自数据库事务的多维数组,包含类别数据。因此,它将包含如下数据: $cat[0]['id'] = 1; $cat[0]['name'] = 'First Category'; 等等。在我的刀片模板中,我有以下代码: {{ $i=0 }} @foreach($cats as $cat) {{ $cat['name'] }}<br />

我正在将数组$cats传递给我的laravel模板视图。它是来自数据库事务的多维数组,包含类别数据。因此,它将包含如下数据:

$cat[0]['id'] = 1;
$cat[0]['name'] = 'First Category';
等等。在我的刀片模板中,我有以下代码:

            {{ $i=0 }}
            @foreach($cats as $cat)

                    {{ $cat['name'] }}<br />

                {{ $i++ }}

            @endforeach
请注意类别名称前面的数字。他们从哪里来?这是拉威尔的聪明把戏吗?似乎当您包含一个计数器变量时,它们会自动添加。我在任何地方都找不到这件事,我也不想要他们!我怎样才能摆脱它们


谢谢。

blade中的
{{}
语法实质上是指回声。在循环的每个迭代中,您都在回显
$i++
。如果您不希望此值回显,则应使用php标记进行包装。e、 g:

<?php $i=0 ?>

@foreach($cats as $cat)
    {{ $cat['name'] }}<br />
<?php $i++ ?>
@endforeach

@foreach($cats作为$cat)
{{$cat['name']}}
@endforeach

另外,如果您选择在数组中工作,那么这就是您的选择,但除非您有特定的理由这样做,否则我鼓励您使用对象语法,laravel中雄辩的集合对象可以像数组一样迭代,但一旦你习惯了它,它会给你带来很多额外的好处。

你可以使用一个内置的帮助程序:
{{$cat->incrementing}

你只需要使用简单的php翻译:

@foreach ($collection as $index => $element)
   {{$index}} - {{$element['name']}}
@endforeach
编辑:

注意,
$index
将从
0
开始,因此它应该是
{{$index+1}


<? php $i = 0 ?>
@foreach ( $variable_name as $value )
    {{ $ value }}<br />
< ? php $i++ ?>
@endforeach
@foreach($variable\u name作为$value) {{$value}}
< ? php$i++?> @endforeach
哦,对了!好的,我现在明白了。谢谢也谢谢你的建议-你有没有链接到我可以在哪里读到“雄辩的收藏品”?没问题-你会喜欢拉威尔的。这里是一个很明显的地方,可以让文档在有说服力的集合中出现,但这也是一个很好的资源。是的,我一直在努力学习Dayle Rees教程。现在我意识到我最初的问题是错误的,$cats确实已经是一个集合对象而不是一个简单的数组,我只是没有意识到!谢谢。据我所知,
$cat->incrementing
将指示ID是否自动递增?您的
$I
将始终重置为0
<? php $i = 0 ?>
@foreach ( $variable_name as $value )
    {{ $ value }}<br />
< ? php $i++ ?>
@endforeach
@foreach($cats as $cat)
    {{ (isset($i))?$i++:($i = 0) }} - {{$cat['name']}}
@endforeach