PHP前端开发

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

百变鹏仔 3天前 #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}。