2016-04-13 32 views
0

Gerçekten çok kolay bir şey taktım (sanırım). etrafında ben verilerin düzgün çıkışına çözüm bulamıyorum oynarken Uzun bir süre sonra benceLaravel Döngü dizisi boyunca

@foreach($input as $key => $item) 



    <div class="col-xs-6" style="width: 100%;"> 
     <h3>Day</h3> 
     <hr /> 
     <div class="dishContainer"> 
      <h4 class="dishTitle">item</h4> 
      <p class="dishDesc">{{ $item }}</p> 
      <p class="priceTag">{{ How caN I display the Price of every item ?}}€</p> 
     </div> 
    </div> 
    @endforeach 

dizinin döngü için

array(30) { 
["gericht_1_mo"]=> 
string(6) "Nudeln" 
["preis_1_mo"]=> 
string(4) "5,50" 
["gericht_2_mo"]=> 
string(64) "Paniertes Schweineschnitzel 
mit Pommes frites und Beilagensalat" 
["preis_2_mo"]=> 
string(2) "13" 
["gericht_1_di"]=> 
string(75) "Gebratenes Hähnchenbrustfilet auf asiatischer Gemüsesoße mit Basmatireis" 
["preis_1_di"]=> 
string(4) "4,70" 
["gericht_2_di"]=> 
string(83) "Geröstete Hörnchennudeln mit Ei, Käse, Speck 
und Zwiebeln dazu ein bunter Salat" 
["preis_2_di"]=> 
string(4) "7,90" 
} 

ve istiyorum:

Ben bir dizi var.

+1

Bu diziyi nasıl dolduruyorsunuz? – Laerte

+2

Sanırım bu dağınık diziyi yaratan kodu yeniden kodlamak daha iyi. Sizin için uygunsa, lütfen uygun kodu gönderin. –

cevap

1

Veri modelinizle ilgili bir sorun olduğunu iddia ediyorum. En azından, verileri istediğiniz gibi oluşturmak için, verileri çağırmadan önce verileri dönüştürürdüm. gibi bir şey:

$output = []; 
foreach($input as $key => $value){ 
    if(preg_match('/(preis|gericht)_([0-9]+_[a-z]{2})/', $key, $matches)){ 
     $output[$matches[2]][$matches[1] = $value; 
    } 
} 

Akıl Eğer bu kod kontrolsüz, bu yüzden muhtemelen kullanılmadan önce düzeltilmesi/test edilmelidir.

0
@for ($x = 0; $x < count($input); $x+=2) 
      <div class="col-xs-6" style="width: 100%;"> 
      <h3>Day</h3> 
      <hr /> 
      <div class="dishContainer"> 
       <h4 class="dishTitle">item</h4> 
       <p class="dishDesc">{{ $input[$x] }}</p> 
       <p class="priceTag">{{ $input[$x+1] }}€</p> 
       </div> 
      </div> 
    @endfor