首頁  >  文章  >  後端開發  >  詳解在PHP模板引擎smarty產生隨機數的方法和math函數

詳解在PHP模板引擎smarty產生隨機數的方法和math函數

coldplay.xixi
coldplay.xixi轉載
2020-07-24 17:24:532222瀏覽

詳解在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 .關於數學函數的詳細信息,請查看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_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程式設計從入門到精通

以上是詳解在PHP模板引擎smarty產生隨機數的方法和math函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:jb51.net。如有侵權,請聯絡admin@php.cn刪除