2

创建自定义 smarty php 插件方法时,是否可以将多维数组作为参数之一传递?

也许像

{function title="Hi" options=array('opt1', 'opt2', 'opt3')}

上面是一个顺序数组,自然对关联数组的支持也一样大。

我已经搜索了几个小时的文档和论坛,但不幸的是,我能找到的所有东西都说“不”,但也已经 5 岁(或更多

谢谢。

4

1 回答 1

1

在 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 级别进行模拟。

于 2012-04-17T09:31:00.910 回答