{math}

{math} を使用すると、 テンプレートのデザイナーがテンプレート内で数学の計算を実行できます。

テクニカルノート

{math} は PHP の eval() 関数を使用するのでパフォーマンス的にコストの高い関数です。 PHP 内で math 関数を実行する事は、テンプレートで行うよりもはるかに効率的で、 mathの計算がPHPで可能な場合はPHPで行い、結果をテンプレートに assign() するようにしましょう。 {section} ループ内のような反復動作で {math} 関数を呼び出す事は避けて下さい。

属性名 必須 デフォルト 概要
equation string Yes n/a 実行する式
format string No n/a 結果の表示フォーマット (sprintf)
var numeric Yes n/a 式の変数に渡す値
assign string No n/a 出力を割り当てるテンプレート変数
[var ...] numeric Yes n/a 式の変数の値

例 8.21. {math}

サンプル a:


   {* $height=4, $width=5 *}

   {math equation="x + y" x=$height y=$width}

  

上の例の出力


   9

  

サンプル b:


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

   {math equation="height * width / division"
   height=$row_height
   width=$row_width
   division=#col_div#}

  

上の例の出力


   100

  

サンプル c:


   {* 括弧も使用できます *}

   {math equation="(( x + y ) / z )" x=2 y=10 z=2}

  

上の例の出力


   6

  

サンプル d:


   {* sprintf 形式のフォーマット文字列を指定できます *}

   {math equation="x + y" x=4.4444 y=5.0000 format="%.2f"}
   
  

上の例の出力


   9.44