在Smarty模板中给出这一点:
<pre>{$user->settings['sendStats']|@print_r:1}</pre>
浏览器中的输出如下:
Array
(
['period'] => daily
['ofPeriod'] => year
['points'] => 1000
)
执行以下任一操作:
<pre>{$user->settings['sendStats']['period']|@print_r:1}</pre>
<pre>{$user->settings['sendStats'][ofPeriod]|@print_r:1}</pre>
<pre>{$user->settings['sendStats'].points|@print_r:1}</pre>
<pre>{$user->settings.{'sendStats'}.{'period'}|@print_r:1}</pre>
<pre>{$user->settings.{sendStats}.{period}|@print_r:1}</pre>
有或没有CCD_ 1都不会在浏览器中给出输出。
我还尝试将$user->settings
分配给Smarty变量,得到了完全相同的结果(正如预期的那样)。
如何访问$user->settings['sendStats']
阵列的元素?
{$user->settings.sendStats.period|@print_r:1}
应该可以正常工作。还可以查看文档中的变量页面…
数组值本身不是数组(您的数组不是多维的),所以您应该删除|@print_r:1
,这样就可以了。应该看起来像:
<pre>{$user->settings['sendStats']['period']}</pre>
终于想通了。数组键包含单引号,因此答案是:
{$user->settings['sendStats']["'period'"]}
我修复了它,这样键就不再包含引号了。