MTSetVarにおけるfunctionモデファイア(push関数)
MTSetVarテンプレートタグにおけるfunctionモデファイアの中で、pushという関数がありますが、これは「配列変数の一番上(または一番最後)に新しい値を追加する」という機能を持ちます。
例えば、testVar[ ]という配列があり、要素が0から10までとします。MTSetVarで同じ変数名(testVar)を指定しつつfunctionモデファイアでpushという関数を指定すると、valueモデファイアで指定した値をセットしつつ配列の一番最後へデータを追加できます。
書式例
<MTSetVar name="testVar" function="push" value="11">
図解
実行前
- 変数名:値
- testVar[0]:0
- testVar[1]:1
- testVar[2]:2
- testVar[3]:3
- testVar[4]:4
- testVar[5]:5
- testVar[6]:6
- testVar[7]:7
- testVar[8]:8
- testVar[9]:9
- testVar[10]:10
<MTSetVar name="testVar" function="push" value="11">を追加すると...
- 変数名:値
- testVar[0]:0
- testVar[1]:1
- testVar[2]:2
- testVar[3]:3
- testVar[4]:4
- testVar[5]:5
- testVar[6]:6
- testVar[7]:7
- testVar[8]:8
- testVar[9]:9
- testVar[10]:10
- testVar[11]:11
一連のテストコード例
<!-- 元データを準備 -->
<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>
<!-- 配列最後の要素へデータを追加 -->
<MTSetVar name="testVar" function="push" value="11">
<!-- もう一度元データを出力 -->
<MTFor var="x" from="0" to="15">
<MTGetVar name="x">:<MTGetVar name="testVar[$x]"><br />
</MTFor>
短縮形
このコードは、<MTSetVar name="push(testVar)" value="11">と記述することもできます。
- ページ先頭へ
- 前のエントリ: MTSetVarTemplate
- 次のエントリ: MTSetVarにおけるfunctionモデファイア(unshift関数)
- カテゴリ:SetVar系