説明
<!FOREACH>は、リスト内の要素を順次取り出し、その要素の値をnameで指定された変数に設定するタグです。
構文
<!FOREACH collection name [ LABEL=label ] > ~ <!/FOREACH>
パラメタ
collection :
リストを指定してください。
評価方法は、「一般データ」です。
name :
リストから取り出された要素を設定する変数名またはリストの要素を指定してください。
指定された変数に対する変数宣言が行われていない場合は、ローカル変数として取り扱われます。変数名として指定できるものについては、“6.1.2 命名規約”を参照してください。
評価方法は、「左辺値」です。
label :
ループを識別するためのラベル名については、“6.1.2 命名規約”のラベル名に従ってください。
評価方法は、「定数文字列」です。
使用例
<!SETVAR LIST '(1, 2, 3)'>
<!FOREACH LIST L>
<TT>value = <!HREPLACE 'L'></TT><BR>
<!/FOREACH>
↓
value = 1
value = 2
value = 3注意
同一のデータに対する<!FOREACH>は、同時に1つしか実行できません。
同一のデータに対して、複数の<!FOREACH>を実行した場合の結果は、保証されません。
<!FOREACH collection t>
<!FOREACH collection s> → 誤り。同一のデータcollectionに
対する2つ目の<!FOREACH>
<!IF 't eq s'> ... <!/IF>
<!/FOREACH>
<!/FOREACH><!SETVAR alias collection REF>
<!FOREACH collection t>
<!FOREACH alias s> → 誤り。collectionとaliasは同一
データを指している
<!IF 't eq s'> ... <!/IF>
<!/FOREACH>
<!/FOREACH><!SETVAR copied collection>
<!FOREACH collection t>
<!FOREACH copied s> → OK。copiedはcollectionと同じ
内容だが、コピーされた別のデータ
<!IF 't eq s'> ... <!/IF>
<!/FOREACH>
<!/FOREACH>