doumicheng6732 2016-02-19 12:41
浏览 461
已采纳

在Twig模板中显示数组

Have problem to display an array in a Twig template.

In mysql I have a text field with value: testtest-testtest2-testtest3

In the controller I explode by '-' and pass it to Twig like so:

$ingred[] = explode('-', $ingreds);
$this->twig->render(['ingred' => $ingred]);

In the Twig template I loop through and it works:

   {% for ing in ingred %}
     <span class="ingridiantai">{{ ing.0 }}</span>
     <span class="ingridiantai">{{ ing.1 }}</span>
     <span class="ingridiantai">{{ ing.2 }}</span>
     <span class="ingridiantai">{{ ing.3 }}</span>
     <span class="ingridiantai">{{ ing.4 }}</span>
     <span class="ingridiantai">{{ ing.5 }}</span> 
   {% endfor %}

But what I want is to loop through all values without writing their key. Like this:

   {% for ing in ingred %}
     <span class="ingridiantai">{{ ing }}</span> 
   {% endfor %}

How can I do what? I was searching in the docs, but didn't find anything that would work for me.

  • 写回答

1条回答 默认 最新

  • du0531 2016-02-19 12:52
    关注

    Using [] adds an element to an array and explode also creates an array. So now you have a 2-dimensional array.

    Simply change the code in your controller to

    $ingred = explode('-', $ingreds);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 华为手机私有App后台保活
  • ¥15 sqlserver中加密的密码字段查询问题
  • ¥20 有谁能看看我coe文件到底哪儿有问题吗?
  • ¥20 我的这个coe文件到底哪儿出问题了
  • ¥15 matlab使用自定义函数时一直报错输入参数过多
  • ¥15 设计一个温度闭环控制系统
  • ¥100 rtmpose姿态评估
  • ¥15 通联支付网上收银统一下单接口
  • ¥15 angular有偿编写,
  • ¥15 centos7系统下abinit安装时make出错