Smarty在变量之间打印一个白色空间(在循环中)?

时间:2014-02-22 08:57:08

标签: php loops smarty whitespace space

从PHP分配:

$smarty->assign("myArrays", Array(
                   Array( "title" => "ABC", "whatever" => 45),
                   Array( "title" => "DEF", "whatever" => 78)
               ));

在Smarty(v3.1.16).tpl档案中:

{assign "seperator" "|"}
{foreach from=$myArrays item=currentItem}
    {$seperator}{$currentItem.title}{$seperator}
{/foreach}

然后输出为:

|ABC| |DEF|

.. 中间有“空格” 我认为这只是在这样的LOOPS中。

为什么会这样?
请问如何解决?

1 个答案:

答案 0 :(得分:4)

循环中不使用空格:

{foreach from=$myArrays item=currentItem}{$seperator}{$currentItem.title}{$seperator}{/foreach}

或使用smarty指令巧妙地移除空格:{strip}/{strip}

{strip}
    {foreach from=$myArrays item=currentItem}
        {$seperator}{$currentItem.title}{$seperator}{/foreach}
    {/foreach}
{/strip}