ページの先頭行へ戻る
Symfoware Server V11.0.x WebDBtoolsユーザーズガイド
Symfoware

6.2.6 <!BREAK>

説明

<!BREAK>は、ラベルに対応するループ処理を中断するタグです。<!FOREACH>、<!WHILE>、および<!FOR>タグ内で有効です。
ラベルが省略された場合は、中断されるループはその<!BREAK>タグを含む最も内側のループになります。このループを「カレントループ」と呼びます。

構文

<!BREAK [ LABEL=label ] >

パラメタ

label

使用例

ラベルを指定しない場合
<!SETVAR LIST '(1,2,3,-4,5,6)'>
<!FOREACH LIST L>
  <!IF 'L < 0'>
    <!BREAK>
  <!/IF>
  <TT>value = <!HREPLACE 'L'></TT><BR>
<!/FOREACH>
    ↓ (表示結果)
  value = 1
  value = 2
  value = 3
ラベルを指定する場合
<!SETVAR LIST_1 '(1,2,5,4,3)'>
<!SETVAR LIST_2 '(-1,-2,-3)'>
<!FOREACH LIST_1 L1 LABEL="LOOP1">
  <!FOREACH LIST_2 L2>
    <!IF 'L1 + L2 > 1'>
      <!BREAK LABEL="LOOP1">
    <!/IF>
    <TT>L1 = <!HREPLACE 'L1'>  L2 = <!HREPLACE 'L2'></TT><BR>
  <!/FOREACH>
<!/FOREACH>
    ↓ (表示結果)
  L1 = 1   L2 = -1
  L1 = 1   L2 = -2
  L1 = 1   L2 = -3
  L1 = 2   L2 = -1
  L1 = 2   L2 = -2
  L1 = 2   L2 = -3

注意

ラベル名が指定されても、ラベルに対応するループ処理が存在しない場合は、エラーとなります。
このタグが記述された場所を含むループが複数個あり、それらのループのラベルに同じ値が指定されている場合、そのラベルの値をlabelパラメタに指定して実行することはできません。