Smarty 图标

您可以根据商标公告使用 Smarty 徽标。

Smarty Template Engine Smarty Template Engine

如需赞助、广告、新闻或其他询问,请通过以下方式与我们联系

使用 Smarty 的网站

广告

{math}

{math} 允许模板设计者在模板中进行数学方程。

  • 任何数字模板变量都可以用于方程式中,结果将打印在标签的位置。

  • 方程式中使用的变量作为参数传递,可以是模板变量或静态值。

  • +, -, /, *, abs, ceil, cos, exp, floor, log, log10, max, min, pi, pow, rand, round, sin, sqrt, srans 和 tan 都是有效运算符。查看 PHP 文档以获取有关这些数学函数的更多信息。

  • 如果您提供了assign 属性,{math} 函数的输出将分配给此模板变量,而不是输出到模板。

技术说明

{math} 由于其使用 php eval() 函数而是一个高开销函数。在 PHP 中进行数学运算要有效得多,因此,如果可能,在脚本中进行数学运算,然后将结果 assign()到模板。绝对避免重复{math} 函数调用,例如在 {section} 循环中。

属性名称 类型 必需 默认值 说明
方程式 字符串 n/a 要执行的方程式
格式 字符串 n/a 结果格式(sprintf)
var 数字 n/a 方程式变量值
assign 字符串 n/a 输出将分配到的模板变量
[var ...] 数字 n/a 方程式变量值

示例 8.21 {math}

示例 a

   {* $height=4, $width=5 *}

   {math equation="x + y" x=$height y=$width}

  

以上示例将输出

   9

  

示例 b

   {* $row_height = 10, $row_width = 20, #col_div# = 2, assigned in template *}

   {math equation="height * width / division"
   height=$row_height
   width=$row_width
   division=#col_div#}

  

以上示例将输出

   100

  

示例 c

   {* you can use parenthesis *}

   {math equation="(( x + y ) / z )" x=2 y=10 z=2}

  

以上示例将输出

   6

  

示例 d

   {* you can supply a format parameter in sprintf format *}

   {math equation="x + y" x=4.4444 y=5.0000 format="%.2f"}
   
  

以上示例将输出

   9.44