模板中变量的数学计算
在模板中的变量不能为其重新赋值,但是可以参与数学运算,只要在PHP脚本中可以执行的数学运算都可以直接应用到模板中。使用的示例如下所示:
- {$foo+1}
{* 在模板中将PHP中分配的变量加1 *} - {$foo*$bar}
{* 将两个PHP中分配的变量在模板中相乘 *} - {$foo->bar-$bar[1]*$baz->foo->bar()-3*7}
{* PHP中分配的复合类型变量也可以参与计算 *} - {if ($foo+$bar.test%$baz*134232+10+$b+10)}
{* 可以将模板中的数学运算在程序逻辑中应用 *}
另外,在Smarty模板中可以识别嵌入在双引号中的变量,只要此变量只包含数字、字母、下画线或中括号[]。对于其他的符号(句号、对象相关的等)此变量必须用两个反引号"`"(此符号和"~"在同一个键上)包住。使用的示例如下所示:
- {func var="test $foo test"}
{* 在双引号中嵌入标量类型的变量 *} - {func var="test $foo[0] test"}
{* 将索引数组嵌入到模板的双引号中 *} - {func var="test $foo[bar] test"}
{* 也可以将关联数组嵌入到模板的双引号中 *} - {func var="test `$foo.bar` test"}
{* 嵌入对象中的成员时将变量使用反引号包住*}