Smarty テンプレートで乱数を生成したい場合はどうすればよいですか?これをphpファイル内で生成し、テンプレートに割り当てます。もちろん、これは間違いなく実現可能ですが、非常に複雑です。以下の著者が、smarty テンプレートで直接乱数を生成する方法についてのちょっとしたコツを紹介します。
ここで、smarty テンプレートで 125 ~ 324 の範囲の乱数を生成する必要があるとします。その場合、次のように記述できます:
リーリーこれで目標は達成できましたが、どうでしょうか?とてもシンプルではないでしょうか? 実はここでは主にsmartyテンプレートのmath関数が使われています。 ここではsmart math関数の機能と使い方について簡単に説明します。 math を使用すると、テンプレート設計者は、任意の数値型の変数を式で使用でき、式で使用される変数はパラメータとして関数に渡されます。現在使用可能な演算子は、テンプレート変数または静的値です: +、-、/、*、abs、ceil、cos、exp、floor、log、log10、max、min、pi、pow、rand、round、sin、sqrt、 srans および Tan 数学関数の詳細については、PHP ドキュメントを参照してください。 特別な属性「assign」が指定されている場合、関数の出力値は直接出力されるのではなく、assignで指定されたテンプレート変数に代入されます。 ただし、PHP の eval() 関数を使用するため、数学関数の実行効率は高くありません。そのため、PHP で数学演算を実行する方が効率的です。可能であり、結果を変換してテンプレート変数に割り当てます。
スマートな数学関数のデモンストレーション{* $height=4, $width=5 *}
{数式 = "x + y" x=$高さ y=$幅} 出力結果: 9
{* $row_height = 10、$row_width = 20、#col_div# = 2、テンプレートで割り当てられます *}
{数学方程式 = "高さ * 幅 / 除算"
高さ=$row_heightwidth=$row_width
ディビジョン=#col_div#}出力結果: 100
{* 括弧を使用できます http://www.phpernote.com/tag/smarty*}
{数式="(( x + y ) / z )" x=2 y=10 z=2}
出力結果: 6
{* sprintf 形式で形式パラメーターを指定できます *}
{数式="x + y" x=4.4444 y=5.0000 形式="%.2f"}
出力結果: 9.44
興味がありそうな記事
smartyテンプレートの情報に最新のラベルを追加するsmartyテンプレートで配列が空かどうかを確認する方法smartyテンプレートでphp関数を使用し、 Smartyテンプレートの使い方 変数は複数の関数を使用しています本当