2013-04-29 94 views
0

如何用樹枝做到這一點?用樹枝環行

foreach($estimate_data AS $year => $month) { 
     foreach ($month AS $monthNo => $estimates) { 
      $chart_data .= "['". $year ."/".$monthNo."',"; 
      foreach (array(0, 1, 3, 5, 8, 13, 20) AS $est){ 
       $chart_data .= (isset($estimates[$est]) ? $estimates[$est] : 0) .","; 
      } 
      $chart_data .= "],\n"; 
     } 
    } 

這是我到目前爲止,但我與內的foreach掙扎和檢查元素的存在數組中:

 {% for year, month in chart_data %} 
     {% for month_no, estimates in month %} 
      ['{{year}}/{{month_no}}', 
      {% for i in [0, 1, 2, 3, 5, 8, 13, 20] %} 
      {% if estimates %} 
      {{estimates[i]}} , 
      {% endif %} 
      {% endfor %} 
     {% endfor %} 
     {% endfor %} 
+0

你得到了什麼不工作或者是什麼錯誤? – mpm 2013-04-29 20:05:07

+0

@mpm密鑰「2」用於鍵值爲「0,1,3,5,8」的數組在ApplicationDefaultBundle中不存在:Estimates:index.html.twig在第17行 – Mike 2013-04-30 06:18:34

回答

0

試試這個..

未經測試!!

{% for year, month in estimate_data %} 
    {% for month_no, estimates in month %} 
     {% set chart_data = chart_data ~ "['" ~ year ~ "/" ~ monthNo ~ "'," %} # concat the strings 
     {% for est in [0, 1, 3, 5, 8, 13, 20] %} 
      {% set chart_data = chart_data ~ (defined estimates.est) ? estimates.est : 0 ~ ',' %} # if estimates.est is defined 
     {% endfor %} 
     {% set chart_data = chart_data ~ "],\n" %} # concat the final string. 
    {% endfor %} 
{% endfor %} 

編輯: 我想,如果你嘗試使用到Concat的:

{% set variable ~= 'text' %} 

這應該工作,但是我甚至不考這個..

+0

謝謝@victor,但是我得到了這個瘋狂的錯誤:打開的括號沒有正確關閉。在ApplicationDefaultBundle:Estimates:index.html.twig,第18行 – Mike 2013-04-30 06:22:06

+0

對不起,有人估計值「估計值」(「標點符號」與值預期值)「名稱」對不起,試試,(估計。 estimated.est:0 ...這項工作! – Victor 2013-05-03 15:33:44