gpt4 book ai didi

php - laravel 的 ElseIf 语句

转载 作者:行者123 更新时间:2023-12-04 00:34:58 25 4
gpt4 key购买 nike

我有以下 foreach 循环,我得到了很好的结果,但是当它到达 elseif 语句时,我试图查看两个玩家是否在同一个团队中,如果他们在同一个团队一起列出并用 & 符号分隔。目前我仍然得到以下信息。

Player 1 vs. Player 2 vs. Player 3 vs. Player 4

这没关系,但是玩家 1 和玩家 2 在同一个团队中。因此,出于某种原因,它不认为他们在同一个团队中。有人看到我的问题了吗?

@foreach ($match->players AS $key => $player)
@foreach ($player->list as $member)
{{ $member->player_name }}
@endforeach
@if($match->players->count() - 1 != $key)
vs.
@elseif ($match->players[$key - 1]->team_id == $player->team_id)
&
@endif
@endforeach

编辑:我稍微更改了数据但仍然应该有效。

http://pastebin.com/AdyzemC4

最佳答案

拼凑你的 $match 变量很棘手 :)

@if($match->players->count() - 1 != $key)

您的 $match->players->count() 始终等于玩家数量的值(say 'n')。所以你的 'if' 只检查 'n-1' != current key ($key)。 [除了最后一个键外都是真的,所以你得到所有的'vs']。

这应该有效:

@foreach ($match->players AS $key => $player)
@foreach ($player->list as $member)
{{ $member->player_name }}
@endforeach
@if($player->team_id != $match->players[$key + 1]->team_id)
vs.
@elseif ($player->team_id == $match->players[$key + 1]->team_id)
&
@endif
@endforeach

在此我们检查当前玩家的队伍是否与下一个玩家的队伍 [$key+1] 相同。

注意:您需要停止最后一个玩家的循环,因为 $key+1 将超出您的数组,您将得到一个偏移错误。因此添加另一个如果:

@foreach ($match->players AS $key => $player)
@foreach ($player->list as $member)
{{ $member->player_name }}
@endforeach
@if($key + 1 < $match->players->count())
@if($player->team_id != $match->players[$key + 1]->team_id)
vs.
@elseif ($player->team_id == $match->players[$key + 1]->team_id)
&
@endif
@endif
@endforeach

关于php - laravel 的 ElseIf 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25654218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com