mtde.info

Movable Type Developers Express

MTGetVarにおけるfunctionモデファイア(shift関数)

2008年2月 1日 21:20 | Writer: apstar | 記事本文

MTGetVarテンプレートタグにおけるfunctionモデファイアの中で、shiftという関数がありますが、これは「配列変数の一番下(または一番最初)から値を返し、その要素のデータを削除する」という機能を持ちます。

例えば、testVar[ ]という配列があり、要素が0から10までとします。MTGetVarで変数名を指定しつつfunctionモデファイアでshiftという関数を指定すると、配列の一番最初のデータを取得しつつ削除できます。

shiftでのデータ取得・削除においては、popとは異なり、shiftで削除したデータ以後は今までのデータと配列要素は1つづつずれるというのが注意するべき点です。

書式例

<MTGetVar name="testVar" function="shift">

図解

実行前

<MTGetVar name="testVar" function="shift">を追加すると...

一連のテストコード例

<h3>実行例</h3>
<!-- 元データを準備 -->
<MTFor var="x" from="0" to="10">
<MTSetVar name="testVar[$x]" value="$x">
</MTFor>

<!-- 元データを出力 -->
<MTFor var="x" from="0" to="15">
<MTGetVar name="x">:<MTGetVar name="testVar[$x]"><br />
</MTFor>
<br />

<!-- 配列最後の要素データを取得・削除 -->
最後の要素:<MTGetVar name="testVar" function="shift">
<br />

<!-- もう一度元データを出力 -->
<MTFor var="x" from="0" to="15">
<MTGetVar name="x">:<MTGetVar name="testVar[$x]"><br />
</MTFor>

短縮形

このコードは、<MTGetVar name="shift(testVar)">と記述することもできます。

GetVar系

2008 mtde.info