php smarty数学函数,math 允许模板设计者在模板中进行数学表达式运算

math 允许模板设计者在模板中进行数学表达式运算. 均表达式中可以使用任何数值类型的变量,结果在 math 标签的位置输出. 表达式中使用的变量被当做参数传递给函数,可以是模板变量或静态值. 目前可以使用的运算符有:+, -, /, *, abs, ceil, cos, exp, floor, log, log10, max, min, pi, pow, rand, round, sin, sqrt, srans 和 tan .关于数学函数的详细信息,请查看 PHP 文档.

If you supply the special "assign" attribute, the output of the math function will be assigned to this template variable instead of being output to the template.

如果指定了 "assign" 这个特殊属性,该函数的输出值将被赋给由 assign 指定的模板变量,而不是直接输出.

Technical Note:math is an expensive function in performance due to its use of the php eval() function. Doing the math in PHP is much more efficient, so whenever possible do the math calculations in PHP and assign the results to the template. Definately avoid repetitive math function calls, like within section loops.

技术要点: 由于使用了 php 的 eval() 函数,math 函数的执行效率不高. 在 PHP 中做数学运算效率会更高一些,因此要尽可能在 PHP 中做数学运算,将结果赋给模板变量. 类似在 section 循环,应明确避免反复调用 math 函数.

Example 8-14. math

例 8-14. math 函数演示

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

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

OUTPUT:

9

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

OUTPUT:

100

{* you can use parenthesis *}

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

OUTPUT:

6

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

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

OUTPUT:

9.44

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值