PHPUtilプラグイン(その8・配列関係の関数)

PHPUtilプラグインでは、配列関係の処理を行う関数をいくつか使うことができます。

1.配列の最後に要素を追加

配列の最後に要素を追加するには、MTPHPSetVar/MTPHPSetVarBlockタグで「push」という関数を使います。
push関数は以下のどちらかの書き方をします。

・functionモディファイアで関数を指定する

<$mt:PHPSetVar name="配列名" function="push" value="値"$>
<mt:PHPSetVarBlock name="配列名" function="push">
  ・・・(各種の処理)・・・
</mt:PHPSetVarBlock>

・nameモディファイアで関数を指定する

<$mt:PHPSetVar name="push(配列名)" value="値"$>
<mt:PHPSetVarBlock name="push(配列名)">
  ・・・(各種の処理)・・・
</mt:PHPSetVarBlock>

例えば、配列messagesの最後に、値が「abc」の要素を追加するには、以下のどちらかの書き方をします。

<$mt:PHPSetVar name="messages" function="push" value="abc"$>
<$mt:PHPSetVar name="push(messages)" value="abc"$>

2.配列の最初に要素を挿入

配列の最初に要素を挿入するには、「unshift」という関数を使います。
書き方はpush関数と同じで、前述の例の「push」を「unshift」に置き換えます。

例えば、配列messagesの最初に、値が「abc」の要素を挿入するには、以下のどちらかの書き方をします。

<$mt:PHPSetVar name="messages" function="unshift" value="abc"$>
<$mt:PHPSetVar name="unshift(messages)" value="abc"$>

なお、unshiftを行うと、個々の要素の番号は0番から降りなおされます。

例えば、配列の内容が以下のようになっているとします。

番号
2abc
5123

ここで、unshiftを使って、配列の先頭に値が「xyz」の要素を挿入するとします。
すると、配列の内容は以下のようになり、番号が0番から振りなおされます。

番号
0xyz
1abc
2123

3.配列の最後から要素を取り出す

配列の最後から要素を取り出して出力し、その要素を配列から削除するには、MTPHPGetVarタグで「pop」という関数を使います。
以下のどちらかの書き方をします。

<$mt:PHPGetVar name="配列名" function="pop"$>
<$mt:PHPGetVar name="pop(配列名)"$>

例えば、配列arの内容が以下のようになっているとします。

番号
0xyz
1abc
2123

この状態で、<$mt:PHPGetVar name="ar" function="pop"$>を実行すると、「123」と出力されます。
また、配列arの最後から「123」の要素が削除され、以下のようになります。

番号
0xyz
1abc

4.配列の最初から要素を取り出す

配列の最初から要素を取り出して出力し、その要素を配列から削除するには、MTPHPGetVarタグで「shift」という関数を使います。
以下のどちらかの書き方をします。

<$mt:PHPGetVar name="配列名" function="shift"$>
<$mt:PHPGetVar name="shift(配列名)"$>

なお、unshift関数と同様に、shift関数を実行すると各要素の0番から番号が振りなおされます。

5.配列の要素の数を出力

配列にある要素の数を出力するには、MTPHPGetVarタグで「count」という関数を使います。
以下のどちらかの書き方をします。

<$mt:PHPGetVar name="配列名" function="count"$>
<$mt:PHPGetVar name="count(配列名)"$>

6.配列のクリア

配列をメモリからクリアするには、「undef」という関数を使います。
例えば、配列messagesをメモリからクリアするには、以下のどちらかの書き方をします。

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

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

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