mtde.info

Movable Type Developers Express

配列を用いた演算

2008年2月 3日 11:02 | Writer: apstar | 記事本文

配列を用いた演算では、注意すべき点があります。

それは、配列変数を用いた演算では、配列変数はnameモデファイアにしか指定できないということです。

<MTSetVar name="var1" value="21">

<MTSetVar name="vars2[0]" value="78">
<MTSetVar name="vars2[1]" value="56">
<MTSetVar name="vars2[2]" value="65">
<MTSetVar name="vars2[3]" value="38">
<MTSetVar name="vars2[4]" value="71">

<MTSetVar name="Answer" value="0">
<MTFor var="x" from="0" to="4">
   <MTGetVar name="vars2[$x]" value="$var1" op="*" setvar="Answer">
   <MTGetVar name="var1">×<MTGetVar name="vars2[$x]">=<MTGetVar name="Answer"><br />
</MTFor>

このサンプルコードは、var1変数へ、vars[0]、vars[1]、vars[2]、vars[3]、vars[4]の配列変数の値を掛ける例です。サンプルコードでは、nameモデファイアへ配列のvarsを指定し、掛け合わせる値であるvalueモデファイアにvar1変数を指定しています。

上記コードで、もし、演算部分を<MTGetVar name="var1" value="$vars2[$x]" op="*" setvar="Answer">と書いてしまうと、うまくいかないです。新たに変数を宣言して、配列データを代入し、その変数をvalueモデファイアへ指定しても同様にうまくいかないです。

Tips系

2008 mtde.info