php - laravel 在 foreach 循环中使用 if 条件时检查 foreach 循环的最后一次迭代

标签 php laravel

如果我在 foreach 中使用@if,如何找到 foreach 循环中的最后一个项目,我想找到它,所以我想删除最后一个项目后面的点,我希望这些点仅在项目之间显示: 你好 。帮助 。 我知道使用loop-->last的方法,但它不起作用,因为@if条件显示不同的最后一项,这意味着如果我们有100个项目,但当我们使用if时,它会显示项目1、42和63,所以这里的最后一项是 63,但是当使用loop->last 时会显示最后一项是 100

这里,但我拥有的是这样的:这里。

@foreach($cuisines as $cuisine)

    @if(($cuisine->id)==($scuitem->cuisine_id))
        {{ $cuisine->title }} •
    @endif 

@endforeach

最佳答案

您可以使用 $loop->last :

@foreach($cuisines as $cuisine)
       @if(($cuisine->id)==($scuitem->cuisine_id))
          {{ $cuisine->title }} 
         @if(!($loop->last))
            •
         @endif
       @endif 
@endforeach

已编辑:

现在在 Controller 中使用此代码并传递 $str 来查看

$arr = [];
foreach($cuisines as $cuisine){
  if(($cuisine->id)==($scuitem->cuisine_id)){
    $arr[] = $cuisine->title;
  }
}
$str = implode(' • ',$arr);

或者,如果您想在 View 中编码,则使用如下所示:

@php
  $arr = [];
  foreach($cuisines as $cuisine){
    if(($cuisine->id)==($scuitem->cuisine_id)){
      $arr[] = $cuisine->title;
    }
  }
  $str = implode(' • ',$arr);
@endphp

关于php - laravel 在 foreach 循环中使用 if 条件时检查 foreach 循环的最后一次迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58129431/

相关文章:

php - 如何在 Controller codeigniter中调用多个存储过程?

php - 如何限制已经受限的查询?

javascript - 使用 PHP 包装器从 wkhtml 生成 PDF,发送回 Angular 4 时,仅在 Chrome 中打开

php - 全新安装的 laravel 项目无法访问 postgresql 数据库,但可以执行 php migrate

laravel - Laravel框架的 Elasticsearch 查询

laravel - 下拉列表的基表

php - 为什么静态属性不能被 "->"访问但可以被 "::"访问?

PHP 'mail()' 函数不发送电子邮件

mysql - Laravel:有一个现有查询,但只需将其应用于最近 30 天

php - Laravel 对集合的 Eloquent 结果