php中文网

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

php中文网

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}。

以上就是Smarty模板变量嵌套:如何动态获取变量值?的详细内容,更多请关注php中文网其它相关文章!