{for}

{for}{forelse}用于创建一个简单的循环。 下面的几种方式都是支持的:

  • {for $var=$start to $end}步长1的简单循环。

  • {for $var=$start to $end step $step}指定步长的循环。

{forelse}在循环不能遍历的时候执行。

属性:

参数名称 缩写 类型 必选参数 默认值 说明
max n/a integer No n/a 循环的次数

可选标记:

名称 说明
nocache 关闭{for} 循环的缓存


Example 7.27. 简单的{for} 循环

  1. <ul>
  2. {for $foo=1 to 3}
  3. <li>{$foo}</li>
  4. {/for}
  5. </ul>
  6.  

输出:

  1. <ul>
  2. <li>1</li>
  3. <li>2</li>
  4. <li>3</li>
  5. </ul>
  6.  


Example 7.28. 使用max 属性

  1. $smarty->assign('to',10);
  2.  
  1. <ul>
  2. {for $foo=3 to $to max=3}
  3. <li>{$foo}</li>
  4. {/for}
  5. </ul>
  6.  

输出:

  1. <ul>
  2. <li>3</li>
  3. <li>4</li>
  4. <li>5</li>
  5. </ul>
  6.  


Example 7.29. {forelse}的执行

  1. $smarty->assign('start',10);
  2. $smarty->assign('to',5);
  3.  
  1. <ul>
  2. {for $foo=$start to $to}
  3. <li>{$foo}</li>
  4. {forelse}
  5. no iteration
  6. {/for}
  7. </ul>
  8.  

输出:

  1. no iteration
  2.  

参见{foreach}, {section}{while}

原文: https://www.smarty.net/docs/zh_CN/language.function.for.tpl