如何限制foreach循环

时间:2019-07-14 08:42:59

标签: php html laravel

如何使用FOREACH打印有限的数据


我在db中有10个数据,但是我只想使用foreach打印前3个数据。 我也尝试并使用过array_slice()方法,但是接下来我遇到了一些错误。

谢谢!

@foreach($products as $_product) 
  //there is Html code... with variables
@foreach

我尝试过:@foreach(array_slice($products, 0, 2) as $_product)。而我得到了:

  

array_slice()期望参数1为数组,给出对象。

3 个答案:

答案 0 :(得分:1)

您可以雄辩地使用limit(3)take(3) 或者,如果您需要在刀片服务器中使用$loop变量 像这样

@if($loop->iteration <=3)
  @continue

或者在您的控制器中

Product::limit(3)->get();
Product::take(3)->get();

如果您在控制器中使用它,则无需检查刀片视图

答案 1 :(得分:0)

只需使用@break;语句,无论您要打印多少,都可以-它将使您跳出foreach循环。

答案 2 :(得分:0)

很快我就能想到:

@foreach($products as $_product) 
  //there is Html code... with variables
  @if($loop->iteration == 3) //Thanks to the response of @MohammedAktaa
      @break
  @endif
@foreach

尽管我认为最好将查询结果限制在数据库中。

Ordering, Grouping, Limit, & Offset