Laravel循环数组

时间:2016-04-13 13:06:33

标签: laravel foreach

我发现了一件非常容易的东西(我猜)。

我有一个数组:

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"
}

并希望在我的视图中循环遍历数组

@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

经过很长一段时间的游戏,我无法找到正确输出数据的解决方案。

2 个答案:

答案 0 :(得分:1)

我认为你的数据模型有问题。至少,为了按照您的意愿呈现数据,我会在调用视图之前转换数据。类似的东西:

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

请注意,此代码未经检查,因此在使用前可能应对其进行测试/更正。

答案 1 :(得分: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