如果我在 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/