【问题标题】:Finding the first item in a foreach?在 foreach 中找到第一项?
【发布时间】:2017-05-15 16:35:59
【问题描述】:

如果这是 foreach 中的第一项,我正在尝试添加类“活动”,但我不断收到解析错误?我正在使用 Laravel 和 Blade,这就是我传递 $members 的方式

public function getView()
    {
        Cache::remember('members.members', 1, function() {
            return Player::orderBy('id', 'DESC')->where('display_member', '=', '1')->limit(10)->get();
        });

        return view('frontend.members')->withMembers(Cache::get('members.members'));
    }

解析错误:语法错误,意外的“endforeach”(T_ENDFOREACH), 期待 elseif (T_ELSEIF) 或 else (T_ELSE) 或 endif (T_ENDIF)

<div class="tab-content">
    @if ($members->count() > 0)
        @foreach ($members as $key => $member)
        <div role="tabpanel" class="tab-pane @if($members->first() == $member)active@endif" id="{{ $member->username }}">
            <div class="col-md-12">
                <h1>{{ $member->username }}</h1>
                <br>
                <p>Personal Website: <a href="{{ $member->personal_website }}">{{ $member->personal_website }}</a></p>
                <p>Last Login: 1st January, 2017</p>
            </div>
        </div>
        @endforeach
    @endif
</div>

【问题讨论】:

  • 上面的答案很好,但如果你使用不同的版本,你可以用$key == 0更改$loop-&gt;first

标签: php laravel if-statement foreach blade


【解决方案1】:

如果你的版本是 laravel 5.3:

@foreach($array as $key => $value)
    @if ($loop->first)
        ...
    @endif
@endforeach

【讨论】:

    【解决方案2】:
    @foreach($array as $key => $value)
     @if ($key == 0)
        .....
     @endif
    @endforeach
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多