CFLOOP: インデックスループ | |||
説明
インデックスループは、数値で指定された回数だけ繰り返されます。インデックスループは FOR ループとも呼ばれます。 | |||
シンタックス<cfloop index = "parameter_name" from = "beginning_value" to = "ending_value" step = "increment"> ... HTML または CFML コード ... </cfloop> |
|||
関連項目
cfabort、cfbreak、cfdirectory、cfexecute、cfexit、cfif、cflocation、cfrethrow、cfswitch、cfthrow、cftry、『ColdFusion MX 開発ガイド』の第2章の「CFML の要素」 の「cfloop と cfbreak」
|
|||
使用方法
インデックスループの from 属性と to 属性に整数値以外の値を指定すると、予期せぬ結果になる可能性があります。たとえば、インデックスループを通じて 1 ~ 2 の間で 0.1 ずつ加算していく場合、ColdFusion は "1、1.1、1.2、...、1.9" まで出力しますが、"2" は出力しません。これは、浮動小数点数の内部表現に関するプログラミング言語の問題です。
|
|||
例
次の例では、ループが 5 回行われ、そのたびに index 値が表示されます。 <cfloop index = "LoopCount" from = "1" to = "5"> ループインデックスは <cfoutput>#LoopCount#</cfoutput> です。<br> </cfloop> このループの出力は次のとおりです。 ループインデックスは 1 です。 ループインデックスは 2 です。 ループインデックスは 3 です。 ループインデックスは 4 です。 ループインデックスは 5 です。 次の例では、ループが 4 回行われ、そのたびに index 値が表示されます。j の値はループが繰り返されるたびに減算されます。to の値はループに入る前に j からコピーされたものなので、この減算の影響を受けません。 <cfset j = 4> <cfloop index = "LoopCount" from = "1" to = #j#> <cfoutput>ループインデックスは #LoopCount#</cfoutput>.<br>です。 <cfset j = j - 1> </cfloop> このループの出力は次のとおりです。 ループインデックスは 1 です。 ループインデックスは 2 です。 ループインデックスは 3 です。 ループインデックスは 4 です。 前述のように、j の値はループが繰り返されるたびに減算されますが、to 値は j がループに入る前に作成されたコピーであるため影響はありません。 この例では、step にはデフォルト値 1 が使用されています。次のコードでは、インデックス値が減算されます。 <cfloop index = "LoopCount" from = "5" to = "1" step = "-1"> ループインデックスは <cfoutput>#LoopCount#</cfoutput>です。<br> </cfloop> このループの出力は次のとおりです。 ループインデックスは 5 です。 ループインデックスは 4 です。 ループインデックスは 3 です。 ループインデックスは 2 です。 ループインデックスは 1 です。 |
INDEX | |
必須 | |
インデックスの値です。この値は最初 from 属性の値に設定され、step 属性の値ずつ、to 属性の値まで加算または減算されます。 |
FROM | |
必須 | |
インデックスの開始値です。 |
TO | |
必須 | |
インデックスの終了値です。 |
STEP | |
オプション | |
Default value: "1"
インデックス値を加算または減算する数値です。 |