如何在智能模板文件中分配数组?

Jen*_*ski 38 php smarty

我想知道是否可以将数组分配给Smarty模板文件中的变量?我试过这个

{assign var='file' value = array('dir','doc','exe')}
Run Code Online (Sandbox Code Playgroud)

但是当我打印出数组时,它产生了这个:

array(\'dir\',\'doc\',\'exe\') 
Run Code Online (Sandbox Code Playgroud)

如何阻止Smarty转义数组值?

提前致谢

Kir*_*lla 49

{php}
  $this->assign("array", array('dir','doc','exe'));
{/php}

{foreach from=$array item=item}
  {$item}
{/foreach}
Run Code Online (Sandbox Code Playgroud)

Smarty v.3开始,可以使用新语法

{$array = ['item1','item2',$item3]}
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅:http://www.smarty.net/docs/en/language.syntax.variables.tpl


Jen*_*ski 43

我刚刚在这里找到另一个答案,允许你在不使用{php}标签的情况下这样做(Smarty推荐)

{assign var='icon' value=','|explode:"dir,doc,exe"}
Run Code Online (Sandbox Code Playgroud)

仍然愿意接受更多的想法......

  • 此方法不允许分配关联数组 (2认同)

小智 9

怎么样{$system=['freebsd','windows','macosx','linux']}