Hello! 欢迎来到小浪资源网!


Smarty模板变量嵌套:如何动态获取变量值?


Smarty模板变量嵌套:如何动态获取变量值?

smarty 模板变量嵌套

在 smarty 模板中,变量可以嵌套使用,以动态获取其他变量的值。当变量名包含变量时,可以使用以下语法:

{${变量名}}

问题示例

在问题中,需要在变量 $value 中动态获取变量 $class_name_cn 和 $class_name_en 的值,具体取决于 $key 的值。使用 {$key} 直接引用不正确,应使用以下语法:

{$'class_name_'.${$key}}

示例代码

将问题中的示例代码修改如下:

$lang_list = [     'cn' => ['desc' => '中文'],     'en' => ['desc' => '英文'] ];  {foreach from=$lang_list item="lang" key="key"}     <input name="class_name_{$key}" type="text" value="{$'class_name_'.${$key}}" /> {/foreach}

这样,在 foreach 循环中,当 $key 为 cn 时,{$’class_name_’.${$key}} 将展开为 {$class_name_cn},而当 $key 为 en 时,将展开为 {$class_name_en}。

相关阅读