程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> smarty模板中如何生成隨機數

smarty模板中如何生成隨機數

編輯:關於PHP編程

如果要在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

{* you can use parenthesis http://www.phpernote.com/tag/smarty*}

{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

您可能感興趣的文章

  • smarty模板中給信息添加最新標簽
  • smarty模板中判斷數組為空的方法
  • smarty模板中使用php函數以及smarty模板中如何對一個變量使用多個函數
  • smarty模板中for循環的擴展插件
  • smarty 模板中循環表格補充不全的td
  • smarty模板保留變量總結
  • 程序中通過define定義的常量如何在smarty模板中使用
  • Smarty模板變量操作符總結

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved