Hi my code is including two array which I want echo them with foreach() loop in table but there is problem that php won’t let me run two array in one loop
like this:
@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
I tried these codes but they have problem and they echo the value more than once:
@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
Also I used array_combine() in order to combining two array but because of differences between key and value ,it doesn't work
$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 ▶}
]
I’m afraid if I could not make my point but I hope you will understand what am I mean by looking this codeenter code here
You are using Laravel and your data is coming from two tables. Why not use an eloquent relationship? It would be so much easier.
@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
You can use array_merge($arr1,$arr2) in your controller to combine two arrays