Yahoo! JAPAN


{math}

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

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

属性名必須デフォルト概要
equationstringYesn/a実行する式
formatstringNon/a結果の表示フォーマット (sprintf)
varnumericYesn/a式の変数に渡す値
assignstringNon/a出力を割り当てるテンプレート変数
[var ...]numericYesn/a式の変数の値

例 8-24. {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