嗨,我的代码包含两个数组,我想用表中的foreach()循环来回显它们,但是有一个问题是php不允许我在一个循环中运行两个数组
像这样:
@foreach ($playerinfo1 as $info1 && $playerinfo2 as $info2)
<tr>
<td>{{$info1->id}}</td>
<td>{{$info1->authid}}</td>
<td>{{$info1->nick}}</td>
<td>{{$info1->date}}</td>
<td>{{$info1->uses}}</td>
<td>{{$info2->rounds}}</td>
<td>{{$info2->time}}</td>
<td>{{$info2->connects}}</td>
<td><a href="http://ip-api.com/#{{$info1->ip}}">
{{$info1->ip}}</a></td>
</tr>
@endforeach
我尝试了这些代码,但是它们有问题,并且它们多次回显该值:
@foreach ($playerinfo1 as $info1)
<tr>
<td>{{$info1->id}}</td>
<td>{{$info1->authid}}</td>
<td>{{$info1->nick}}</td>enter code here
<td>{{$info1->date}}</td>
<td>{{$info1->uses}}</td>
<td><a href="http://ip-api.com/#{{$info1->ip}}">
{{$info1->ip}}</a></td>
@foreach ($playerinfo2 as $info2)
<td>{{$info2->rounds}}</td>
<td>{{$info2->time}}</td>
<td>{{$info2->connects}}</td>
</tr>
@endforeach
@endforeach
@foreach ($playerinfo1 as $info1)
<tr>
<td>{{$info1->id}}</td>
<td>{{$info1->authid}}</td>
<td>{{$info1->nick}}</td>
<td>{{$info1->date}}</td>
<td>{{$info1->uses}}</td>
<td><a href="http://ip-api.com/#{{$info1->ip}}">{{$info1->ip}}</a></td>
@foreach ($playerinfo2 as $info2)
<td>{{$info2->rounds}}</td>
<td>{{$info2->time}}</td>
<td>{{$info2->connects}}</td>
</tr>
@endforeach
@endforeach
@foreach ($playerinfo1 as $info1)
<tr>
<td>{{$info1->id}}</td>
<td>{{$info1->authid}}</td>
<td>{{$info1->nick}}</td>
<td>{{$info1->date}}</td>
<td>{{$info1->uses}}</td>
<td><a href="http://ip-api.com/#{{$info1->ip}}">{{$info1->ip}}</a></td>
@endforeach
@foreach ($playerinfo2 as $info2)
<td>{{$info2->rounds}}</td>
<td>{{$info2->time}}</td>
<td>{{$info2->connects}}</td>
</tr>
@endforeach
我也使用array_combine()来组合两个数组,但是由于键和值之间的差异,它不起作用
$ playerinfo1(array):
array:15 [▼
0 => {#213 ▼
+"id": 1
+"authid": "STEAM_0:0:546411185"
+"nick": "BesTKiLLeR"
+"date": "2019-05-24 21:22:25"
+"uses": 62
+"ip": "188.211.128.180"
}
1 => {#215 ▼
+"id": 2
+"authid": "STEAM_0:0:21578434"
+"nick": "ArTTam"
+"date": "2019-05-23 22:29:43"
+"uses": 21
+"ip": "86.55.174.70"
}
2 => {#216 ▶}
3 => {#217 ▶}
9 => {#223 ▶}
10 => {#224 ▶}
11 => {#225 ▶}
12 => {#226 ▶}
26 => {#240 ▶}
32 => {#246 ▶}
34 => {#248 ▶}
35 => {#249 ▶}
38 => {#252 ▶}
39 => {#253 ▶}
45 => {#259 ▶}
]
$ playerinfo2(array):
array:16 [▼
0 => {#264 ▼
+"id": 1
+"connects": 65
+"rounds": 305
+"time": 38579
}
1 => {#265 ▼
+"id": 2
+"connects": 37
+"rounds": 124
+"time": 17257
}
2 => {#266 ▶}
3 => {#267 ▶}
4 => {#268 ▶}
5 => {#269 ▶}
6 => {#270 ▶}
7 => {#271 ▶}
8 => {#272 ▶}
9 => {#273 ▶}
10 => {#274 ▶}
11 => {#275 ▶}
12 => {#276 ▶}
13 => {#277 ▶}
14 => {#278 ▶}
15 => {#279 ▶}
]
恐怕我无法说明我的意思,但是希望您通过看一下这段代码来了解我的意思enter code here
答案 0 :(得分:0)
您可以在控制器中使用array_merge($ arr1,$ arr2) 合并两个数组
答案 1 :(得分:0)
您正在使用Laravel,您的数据来自两个表。为什么不使用雄辩的关系呢?这样会容易得多。
@foreach ($players as $player)
<tr>
<td>{{$player->id}}</td>
<td>{{$player->authid}}</td>
<td>{{$player->nick}}</td>enter code here
<td>{{$player->date}}</td>
<td>{{$player->uses}}</td>
<td><a href="http://ip-api.com/#{{$player->ip}}">{{$player->ip}}</a></td>
<!-- Use a relationship (e.g., stats) to get additional data -->
<td>{{$player->stats->rounds}}</td>
<td>{{$player->stats->time}}</td>
<td>{{$player->stats->connects}}</td>
</tr>
@endforeach