Php 如何在laravel中输出奇偶行

Php 如何在laravel中输出奇偶行,php,laravel,Php,Laravel,我有一个项目,我从数据库中提取帖子,并在主页视图中呈现。就像一个博客。(在主页上,我将此限制为3篇帖子) 我在表中有6行,希望根据奇数行和偶数行设置输出样式 这是我的控制器: public function index() { $counter = Post::count(); $posts= DB::table('posts')->orderBy('id', 'DESC')->limit(3)->get(); return view('home',com

我有一个项目,我从数据库中提取帖子,并在主页视图中呈现。就像一个博客。(在主页上,我将此限制为3篇帖子)

我在表中有6行,希望根据奇数行和偶数行设置输出样式

这是我的控制器:

public function index()
{
   $counter = Post::count();
   $posts= DB::table('posts')->orderBy('id', 'DESC')->limit(3)->get();

    return view('home',compact('posts','counter')); 
}
我希望偶数行具有
,奇数行具有

当我在
$计数器上
dd
时,我得到值6。这是正确的。我的桌子上有6行

根据我找到的其他文章,我目前正在尝试:

@foreach ($posts as $post)
@if($counter % 2 == 0)
<div class="even">{{$post->title}}</div>
@else
<div class="odd">{{$post->title}}</div>
@endif
@foreach($posts as$post)
@如果($counter%2==0)
{{$post->title}
@否则
{{$post->title}
@恩迪夫
这没什么用。仍将行输出为6,5,4,3,2,1

那么我如何在Foreach循环中编写IF语句来表示

if ($counter == odd)
<div class="odd">
else
<div class="even">
if($counter==奇数)
其他的
我要找的订单是:

  • 奇怪的
  • 甚至
  • 奇怪的
  • 甚至

  • $counter
    是一个静态变量,因此调用
    $counter%2==0
    将始终显示相同的结果。如果您使用的是5.4+,
    @foreach()
    中包含一个
    $loop
    变量。因此,您可以在循环中访问您的mod division

    @foreach ($posts as $post)
        @if($loop->iteration % 2 == 0)
            <div class="even">{{$post->title}}</div>
        @else
            <div class="odd">{{$post->title}}</div>
        @endif
    @endforeach
    
    @foreach($posts as$post)
    @如果($loop->迭代%2==0)
    {{$post->title}
    @否则
    {{$post->title}
    @恩迪夫
    @endforeach
    
    您需要在每次迭代中增加计数器

    @php
      $counter = 1;
    @endphp
    
    @foreach ($posts as $post)
      @if($counter % 2 == 0)
       <div class="even">{{$post->title}}</div>
      @else
       <div class="odd">{{$post->title}}</div>
      @endif
      @php 
       $counter++;
      @endphp
    @endforeach
    
    @php
    $counter=1;
    @endphp
    @foreach($posts作为$post)
    @如果($counter%2==0)
    {{$post->title}
    @否则
    {{$post->title}
    @恩迪夫
    @php
    $counter++;
    @endphp
    @endforeach
    
    Laravel 5.8.5在Blade循环变量中添加偶数和奇数布尔标志

    现在您可以使用:

    $loop->偶数或$loop->奇数

    而不是

    $loop->迭代%2


    我使用的是5.7,我不知道$loop变量。这很有效。在这种情况下,
    $counter
    就不需要了,对吗?没错,$loop应该能够处理它。当我发现关于
    $loop
    的事情时,我升级到了5.4。经常派上用场。这也很有效,但是$loop变量在我看来有点干净。谢谢你的帮助。