0

问题描述

数据表里有多行,每行有day_1, day_2, day_3, ... , day_10这10个字段,已经获取数据到list数组,需要在模板文件中输出成表格。

问题出现的环境背景及自己尝试过哪些方法

在volist里面使用for循环,希望每一行自动循环10次,每次自动把$vo.day_1, $vo.day_2, $vo.day_3, ... $vo.day_10输出来,但按照以下写法,{$vo.day_$i}会提示报错。

语法错误: unexpected '$i' (T_VARIABLE), expecting ',' or ';'

相关代码

{volist name="list" id="vo"}
    {for start="1" end="10"}
        {$vo.day_$i}
    {/for}
{/volist}

你期待的结果是什么?实际看到的错误信息又是什么?

请问一下,应该如何才能给让程序自动输出$vo.day_1, $vo.day_2, $vo.day_3, ... $vo.day_10的值?

非常感谢!

alexmao 16
2019-01-18 提问
2 个回答
0

因为 {$vo.day_$i} 会解析为 <?php echo($vo['day_$i']);?>,所以语法不正确报错了,按照你的需求,可以改为下面这样

{volist name="list" id="vo"}
  {for start="1" end="10"}
    {$vo['day_'.$i]}
  {/for}
{/volist}
0

1 - 如果你要遍历个列表出来, volist本身就是等于是个 for 循环的作用了, 不需要再写一次

{volist name="list" id="vo"}
    <div>{$vo.day_$i} </div>
{/volist}

2 - 如果你说的是把数组里的变量都拼接出来, 我建议你再 controller 写个 for循环给拼接了 在返回到模板页面, 不要在模板页面拼接

撰写答案

你可能感兴趣的

推广链接