我在smarty中有以下循环:
{foreach from=$method.params key=name item=type}
<i style="font-weight: normal;">{$type}</i> {$name},
{/foreach}
删除尾随逗号的最佳方法是什么?
答案 0 :(得分:5)
我更喜欢Twig而不是Smarty所以我正在从文档中工作,但这是我的刺:
{assign var="comma" value=""}
{foreach from=$method.params key=name item=type}
{$comma}<i style="font-weight: normal;">{$type}</i> {$name}
{assign var="comma" value=", "}
{/foreach}
答案 1 :(得分:3)
你也可以这样做:
{foreach from=$method.params key=name item=type name=myloop}
<i style="font-weight: normal;">{$type}</i> {$name}
{if not $smarty.foreach.myloop.last}, {/if}
{/foreach}
您也没有提到您使用的Smarty版本。如果你使用Smarty 3(如果它是你的选择你应该使用它,你应该使用Smarty 3 foreach
风格而不是Smarty 2 foreach风格)。
修改强>
如你所说,你使用Smarty 3,你应该这样使用Smarty 3 foreach
语法:
{foreach $method.params as $name => $type}
<i style="font-weight: normal;">{$type}</i> {$name}
{if not $type@last}, {/if}
{/foreach}