跳至内容

{math}

{算式} 允许模板设计者在模板中进行算数方程式运算。

属性

属性名称 必需性 说明
算式 要执行的算式
格式 结果的格式 (sprintf)
变量 算式变量值
赋值 输出将分配到的模板变量
[变量 ...] 算式变量值
  • 可在算式中使用任意数字模板变量,且结果以标签的原位打印。

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

  • +, -, /, *, abs, ceil, cos, exp, floor, log, log10, max, min, pi, pow, rand, round, sin, sqrt, srans 和 tan 均为有效的运算符。有关这些 算式 函数的更多信息,请查阅 PHP 文档。

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

注意

{算式} 函数由于使用了 php eval() 函数,因此在性能上会十分昂贵。在 PHP 中进行算数运算效率要高得多,因此在可能的情况下,应在脚本中进行算数运算并且 assign() 将结果分配给模板。务必避免重复的 {算式} 函数调用,例如在 {section} 循环内。

示例

示例 1

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

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

上述示例将输出

9

示例 2

{* $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

示例 3

{* you can use parenthesis *}

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

上述示例将输出

6

示例 4

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

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

上述示例将输出

9.44