PHPUtilプラグイン(その6・変数の計算)

PHPUtilプラグインでは、変数に対して計算を行うこともできます。

1.opモディファイア

変数に数値を代入していて、その値を増減させる場合は、opモディファイアを使って以下のように書きます。

<$mt:PHPSetVar name="変数名" op="演算方法" value="値"$>

「演算方法」には、Movable Type標準のMTSetVarタグと同様に、以下の単語または記号を使うことができます。

計算の種類記号単語
足し算+add
引き算-sub
掛け算*mul
割り算/div
余り%mod

例えば、変数xの値を5増やすには、以下のように書きます。
「op="+"」を「op="add"」と書いても同じ動作になります。

<$mt:PHPSetVar name="x" op="+" value="5"$>

また、変数の値を1だけ増減させる場合は、以下のopモディファイアを使うことができます。
この場合はvalueモディファイアを指定しません。

計算の種類記号単語
1増やす++inc
1減らす--dec

例えば、変数xの値を1増やすには、以下のように書きます。
「op="++"」を「op="inc"」と書いても同じ動作になります。

<$mt:PHPSetVar name="x" op="++"$>

2.prepend/appendモディファイア

変数に文字列を代入していて、その前に別の文字列を連結するには、「prepend="1"」というモディファイアを使って以下のように書きます。

<$mt:PHPSetVar name="変数名" prepend="1" value="連結する文字列"$>

例えば、変数msgに「world」という文字列を代入しているとします。
この状態で以下のタグを実行すると、変数msgの値は「Hello, world」になります。

<$mt:PHPSetVar name="msg" prepend="1" value="Hello, "$>

また、変数に代入されている文字列の後に別の文字列を連結するには、「append="1"」というモディファイアを使って以下のように書きます。

<$mt:PHPSetVar name="変数名" append="1" value="連結する文字列"$>

3.valueモディファイアに変数を指定する

MTPHPSetVarタグのvalueモディファイアに、PHPの変数を指定することもできます。
その場合、「value="{$変数名}"」のような書き方をします。

例えば、変数xに変数yの値を代入するには、以下のように書きます。

<$mt:PHPSetVar name="x" value="{$y}"$>

また、opモディファイア/prependモディファイア/appendモディファイアと組み合わせる場合も、「value="{$変数名}"]」のようにvalueモディファイアを書いて、変数を指定することができます。
例えば、変数xを、変数yの値だけ増やすには、以下のように書きます。

<$mt:PHPSetVar name="x" op="+" value="{$y}"$>

なお、Movable TypeのMTSetVarタグ等では、valueモディファイア等に「$変数名」のように書きます。
MTPHPSetVarタグでvalueモディファイアを「$変数名」にした場合、PHPの変数ではなく、MTSetVarタグで静的に定義した変数を使うことになります。

例えば、以下のように書いた場合、変数xに代入されるのは、PHPの変数のyではなく、MTSetVarタグで静的に定義した変数yの値になります。

<$mt:PHPSetVar name="x" value="$y"$>

4.PHPUtilプラグイン関係の記事の一覧

PHPUtil関係のその他の記事は、以下のリンクから参照できます。