Smarty访问变量的字符串的变量名


smarty access variable with string of variable name

我不确定这是否可能,但我在文件中分配了一个变量,我无法更改。

$smarty->assign('signature',$account->options[SIGNATURE]);

它只是设置为1或0,但我需要该值稍后在我正在工作的文件。在设置页面中,我有一个数组,它将根据该值验证签名字段。这是foreach循环的内部,我希望我可以做一些类似{if ${$settings.signature} eq 1}的事情,其中{$settings.signature}将计算为签名。

在php中,我相信它基本上是可变变量。我怎么才能聪明地做到这一点呢?

只需添加$:

{$settings.$signature}
如果$signature为0 ,

将返回$settings[0]

如果你需要的是$settings0:

{$settings{$signature}}

阅读Smarty文档获取更多关于变量的信息