PHPUtilプラグイン(その9・ハッシュの利用)

PHPUtilプラグインでは、ハッシュ(PHPで言うところの連想配列)を扱うこともできます。
ハッシュ関係のテンプレートタグの書き方も、Movable Type標準のMTSetVarタグに合わせています。

1.ハッシュへの代入

MTPHPSetVarタグ/MTPHPSetVarBlockタグで、ハッシュに値を代入することができます。
Movable Type標準のMTSetVarタグと同様に、keyモディファイアを指定するか、「name="ハッシュ名{キー}"」の書き方で、代入先の要素を指定します。

・keyモディファイアでキーを指定する

<$mt:PHPSetVar name="ハッシュ名" key="キー" value="値"$>
<mt:PHPSetVarBlock name="ハッシュ名" key="キー">
  ・・・(各種の処理)・・・
</mt:PHPSetVarBlock>

・nameモディファイアでキーを指定する

<$mt:PHPSetVar name="ハッシュ名{キー}" value="値"$>
<mt:PHPSetVarBlock name="ハッシュ名{キー}">
  ・・・(各種の処理)・・・
</mt:PHPSetVarBlock>

例えば、「users」という名前ハッシュで、キーが「yamada」の要素に、「100」という値を代入したいとします。
この場合、以下のどちらかの書き方をします。

<$mt:PHPSetVar name="users" key="yamada" value="100"$>
<$mt:PHPSetVar name="users{yamada}" value="100"$>

2.ハッシュの要素の出力

ハッシュの要素を出力するには、MTPHPGetVarタグを使います。
MTPHPSetVarタグと同様に、要素のキーはkeyモディファイアで指定するか、nameモディファイアで指定します。

・keyモディファイアでキーを指定する

<$mt:PHPGetVar name="ハッシュ名" key="キー"$>

・nameモディファイアで番号を指定する

<$mt:PHPGetVar name="ハッシュ名{キー}"$>

例えば、ハッシュusersで、キーが「yamada」の要素を出力するには、以下のどちらかの書き方をします。

<$mt:PHPGetVar name="users" key="yamada"$>
<$mt:PHPGetVar name="users{yamada}"$>

3.ハッシュの要素の削除

ハッシュから特定のキーの要素を削除するには、「delete」という関数を使います。
以下の4つの書き方のどれでも、同じ動作になります。

<$mt:PHPSetVar name="ハッシュ名" key="キー" function="delete"$>
<$mt:PHPSetVar name="ハッシュ名{キー}" function="delete"$>
<$mt:PHPSetVar name="delete(ハッシュ名)" key="キー"$>
<$mt:PHPSetVar name="delete(ハッシュ名{キー})"$>

例えば、ハッシュusersから、キーが「yamada」の要素を削除するには、以下のどちらかの書き方をします。

<$mt:PHPSetVar name="users" key="yamada" function="delete"$>
<$mt:PHPSetVar name="users{yamada}" function="delete"$>
<$mt:PHPSetVar name="delete(users)" key="yamada"$>
<$mt:PHPSetVar name="delete(users{yamada})"$>

なお、ハッシュ全体をメモリから削除するには、配列と同様に「undef」という関数を使います。
例えば、ハッシュusers全体をメモリから削除するには、以下のいずれかの書き方をします。

<$mt:PHPSetVar name="users" function="undef"$>
<$mt:PHPSetVar name="undef(users)"$>

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

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