我有两个不同的数组,我想用这两个数组创建一个表。
但我不知道如何在Laravel Blade的一个foreach循环中实现这一点。
第一个数组来自外部api,第二个数组是Laravel Collection我用 - toArray()转换为数组
正如你所看到的,两个数组都有10个元素,在我的表中,我希望每行都包含两个数组的列。
$ $HOME/go/bin/tour
你能帮助我吗?
电贺 Wipsly
答案 0 :(得分:2)
最简单的方法是将数组合并到一个数组中并循环为一个数组,例如:
@foreach(array_merge($externalApi, $myArray) as $item)
// ...
@endforeach
希望数组中没有重复的字段。
答案 1 :(得分:1)
您可以使用SPL的MultipleIterator:
$mi = new MultipleIterator();
$mi->attachIterator(new ArrayIterator($array1));
$mi->attachIterator(new ArrayIterator($array2));
foreach($mi as list($array1data, $array2data)) {
var_dump($array1data,$array2data);
}
答案 2 :(得分:0)
怎么样? array_merge将完成它,但这将显示另一个应该相当容易理解的选项。
<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Street</th>
<th>Zip</th>
<th>City</th>
<th>Created At</th>
<th>Updated At</th>
<th>Status</th>
<th>Instance ID</th>
<th>Alias</th>
<th>Display Name</th>
<th>Instance Host</th>
<th>Start Mode</th>
<th>Process ID</th>
<th>Status</th>
<th>Start Stop Error</th>
</tr>
</thead>
<tbody>
@foreach($secondArray as $key => $row)
<tr>
<th>{{ $row['id'] }}</th>
<th>{{ $row['name'] }}</th>
<th>{{ $row['street'] }}</th>
<th>{{ $row['postalcode'] }}</th>
<th>{{ $row['city'] }}</th>
<th>{{ $row['created_at'] }}</th>
<th>{{ $row['updated_at'] }}</th>
<th>{{ $row['status'] }}</th>
<th>{{ $firstArray[$key]->instanceId }}</th>
<th>{{ $firstArray[$key]->alias }}</th>
<th>{{ $firstArray[$key]->displayName }}</th>
<th>{{ $firstArray[$key]->instanceHost }}</th>
<th>{{ $firstArray[$key]->startMode }}</th>
<th>{{ $firstArray[$key]->processID }}</th>
<th>{{ $firstArray[$key]->status }}</th>
<th>{{ $firstArray[$key]->startStopError }}</th>
</tr>
@endforeach
</tbody>
</table>
编辑:虽然,我个人非常喜欢这个MultipleIterator选项。