> php教程 > php手册 > 본문

【smarty】smarty模板中如何生成随机数

WBOY
풀어 주다: 2016-06-06 20:09:49
원래의
1206명이 탐색했습니다.

如果要在 smarty模板中生成随机数,该如何办呢?在 php文件中生成然后赋值到模板中。这个当然绝对是可行的,但过于复杂,下面作者就如何直接在 smarty模板中生成随机数这个小技巧和大家分享一下。 现在假设在 smarty模板中需要生成一个125-324之间的随机数,

如果要在 smarty模板中生成随机数,该如何办呢?在 php文件中生成然后赋值到模板中。这个当然绝对是可行的,但过于复杂,下面作者就如何直接在 smarty模板中生成随机数这个小技巧和大家分享一下。
现在假设在 smarty模板中需要生成一个125-324之间的随机数,那么可以按如下写法:

{math equation=rand(125,324)}

这样就实现了我们的目的了,怎么样?是不是很简单,其实这里主要用到了smarty模板中的math函数,下面对smarty math函数的作用以及用法做个简要的讲解。

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

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

不过需要注意的是: 由于使用了 php 的 eval() 函数,math 函数的执行效率不高. 在 PHP 中做数学运算效率会更高一些,因此要尽可能在 PHP 中做数学运算,将结果赋给模板变量。

smarty math 函数演示

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

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

输出结果: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#}

输出结果:100

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

输出结果:6

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

输出结果:9.44

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿