2017-01-17 41 views
0

我有一個循環,有索引改變的對象。正如你可以在我們的第一個物體中看到的那樣,我們有電視,第二個物體有gv。問題是,我想用laravel提供的blade foreach循環遍歷所有對象。 (此數據被作爲一個數組,我只是把它作爲JSON閱讀)Laravel foreach有機會指數是不同的

[ 
{ 
    "items" : { 
    "pv" : "0", 
    "tv" : "0", 
    "ov" : "0" 
    } 
}, 
{ 
    "items" : { 
    "pv" : "0", 
    "gv" : "0", 
    "ov" : "0" 
    } 
} 
] 

這是我能想出在邏輯上,但我仍然可以與未定義指數返回:電視

@foreach($products as $product) 
<tr> 
    <td>{{$product['items']['pv']}}</td> 
    <td> 
     @if(empty($product['items']['tv'])) 
      {{$product['items']['gv']}} 
     @else 
      {{$product['items']['tv']}} 
     @endif 
    </td> 
    <td>{{$product['items']['ov']}}</td> 
</tr> 
@endforeach 
+0

你的代碼看起來適合我,你爲什麼不在你的foreach聲明下面轉儲$ product和$ products的內容,看看有什麼內容? – JorgeeFG

+0

返回的數組都很好。我可以通過刪除中心td而不嘗試顯示電視或gv來運行代碼。它顯示正常。 –

+1

你知道empty()會返回true嗎?因爲對於未設置的空值爲空,null,0,false等...也許你想使用isset或array_key_exists?如果你發佈轉儲陣列 – JorgeeFG

回答

0
 @if(array_key_exists('tv',$product['value'])) 
     {{$product['value']['tv']}} 
    @else 
     {{$product['value']['gv']}} 
    @endif