ホームページ >バックエンド開発 >PHPチュートリアル >PHPテンプレートエンジンsmarty_PHPチュートリアルで乱数を生成する方法と演算関数を詳しく解説

PHPテンプレートエンジンsmarty_PHPチュートリアルで乱数を生成する方法と演算関数を詳しく解説

WBOY
WBOYオリジナル
2016-07-13 10:31:55844ブラウズ

もちろん、これは間違いなく実現可能ですが、非常に複雑です。以下の著者が、Smarty テンプレートで直接乱数を生成する方法についてのちょっとしたトリックを共有します。

ここで、smarty テンプレートで 125 ~ 324 の範囲の乱数を生成する必要があると仮定すると、次のように記述できます:

コードをコピーします コードは次のとおりです:

{数学方程式=ランド(125,324)}

これで目標は達成できましたが、どうでしょうか?非常に簡単ではありませんか? ここでは主に Smarty テンプレートの math 関数が使用されます。Smarty 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=$height y=$width}


出力結果: 9
コードをコピー コードは次のとおりです:

{* $row_height = 10 、$row_width = 20、#col_div# = 2、テンプレートで割り当てられます *}

{数式="高さ * 幅 / 除算"
height=$row_height
width=$row_width
division=#col_div#}


出力結果: 100
コードをコピー コードは次のとおりです:

{数式="(( x + y) / z )" x=2 y=10 z=2}


出力結果: 6
コードをコピー コードは次のとおりです:

{* sprintf 形式で形式パラメーターを指定できます *}

{数式="x + y" x=4.4444 y=5.0000 format="%.2f"}


出力結果: 9.44

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/760283.html技術記事もちろん、これは間違いなく実現可能ですが、非常に複雑です。以下の著者が、smarty テンプレートで直接乱数を生成する方法についてのちょっとしたコツを紹介します。 ここで、Smarty テンプレートで必要なものがあるとします...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。