创建自定义 smarty php 插件方法时,是否可以将多维数组作为参数之一传递?
也许像
{function title="Hi" options=array('opt1', 'opt2', 'opt3')}
上面是一个顺序数组,自然对关联数组的支持也一样大。
我已经搜索了几个小时的文档和论坛,但不幸的是,我能找到的所有东西都说“不”,但也已经 5 岁(或更多)
谢谢。
创建自定义 smarty php 插件方法时,是否可以将多维数组作为参数之一传递?
也许像
{function title="Hi" options=array('opt1', 'opt2', 'opt3')}
上面是一个顺序数组,自然对关联数组的支持也一样大。
我已经搜索了几个小时的文档和论坛,但不幸的是,我能找到的所有东西都说“不”,但也已经 5 岁(或更多)
谢谢。
在 Smarty3 中可以。
此示例使用PHP5.4 短数组语法,将 array() 替换为 []。像这样使用它:
{function title="Hi" options=['opt1' => ['one' => 1], 'opt2' => ['two' => 2] ]}
另一个例子:分配给一个变量并循环它。
{$multidimension_array = ['opt1' => ['one' => 1], 'opt2' => ['two' => 2] ]}
{foreach $multidimension_array as $ak => $subarray}
<p>Section "{$ak}":</p>
<ol>
{foreach $subarray as $k => $v}
<li>{$k}: {$v}</li>
{/foreach}
</ol>
{/foreach}
此外,请参阅Smarty3 概述页面,其中举例说明了此语法。
注意:不需要 PHP 5.4。此语法在 Smarty 级别进行模拟。