2015-11-05 106 views
0

我有兩個不同的數組,我想用這兩個數組創建一個表。Laravel |兩個數組在foreach

但我不知道如何在Laravel Blade的一個foreach循環中實現這一點。

第一陣列是從外部API和第二陣列是一個Laravel收集我轉換爲一個數組與 - 指定者()

正如你可以看到兩個陣列具有10個元素,在我的表我想每行都有來自兩個數組的列。

array:10 [▼ 
    0 => {#193 ▼ 
    +"instanceID": "Ex1" 
    +"alias": null 
    +"displayName": "Ex1" 
    +"instanceHost": "exserver" 
    +"startMode": "automatic" 
    +"processID": 2960 
    +"status": "running" 
    +"startStopError": null 
    } 
    1 => {#194 ▶} 
    2 => {#195 ▶} 
    3 => {#196 ▶} 
    4 => {#197 ▶} 
    5 => {#198 ▶} 
    6 => {#199 ▶} 
    7 => {#200 ▶} 
    8 => {#201 ▶} 
    9 => {#202 ▶} 
] 

array:10 [▼ 
    0 => array:8 [▼ 
    "id" => 1 
    "name" => "Example" 
    "street" => "Exstreet 1" 
    "postalcode" => 1234 
    "city" => "Town" 
    "created_at" => "2015-11-05 16:18:02" 
    "updated_at" => "2015-11-05 16:53:58" 
    "status" => "Silver" 
    ] 
    1 => array:8 [▶] 
    2 => array:8 [▶] 
    3 => array:8 [▶] 
    4 => array:8 [▶] 
    5 => array:8 [▶] 
    6 => array:8 [▶] 
    7 => array:8 [▶] 
    8 => array:8 [▶] 
    9 => array:8 [▶] 
] 

你能幫幫我嗎?

電賀 Wipsly

回答

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選項。

1

最簡單的方法是在一個陣列中並循環到合併數組爲一個陣列,例如:

@foreach(array_merge($externalApi, $myArray) as $item) 
    // ... 
@endforeach 

希望有在陣列沒有重複的字段。

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); 
}