詳解在PHP模板引擎smarty生成隨機數的方法和math函式
這個當然絕對是可行的,但過於複雜,下面作者就如何直接在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 .關於數學函式的詳細資訊,請檢視
如果指定了 "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_p# = 2, assigned in template *} {math equation="height * width / pision" height=$row_height width=$row_width pision=#col_p#}
輸出結果:100
程式碼如下:
{math equation="(( x + y ) / z )" x=2 y=10 z=2}
輸出結果:6
程式碼如下:
{* you can supply a format parameter in sprintf format *} {math equation="x + y" x=4.4444 y=5.0000 format="%.2f"}
輸出結果:9.44
以上就是詳解在PHP模板引擎smarty生成隨機數的方法和math函式的詳細內容,更多請關注考高分網其它相關文章!
文章轉自:http://www.kaotop.com/it/262826.html
本文來自部落格園,作者: