The continue and break statements enable you to control the processing inside loops:
continue
statement tells ColdFusion to skip to the beginning of the next loop iteration.
break
statement exits the current loop or case
statement.
The continue
statement ends the current loop iteration, skips any code following it in the loop, and jumps to the beginning of the next loop iteration. For example, the following code loops through an array and display's each value that is not an empty string:
for ( loop=1; loop LE 10; loop = loop+1) { if(a[loop] EQ "") continue; WriteOutput(loop); }
(To test this code snippet, you must first create an array, a, with 10 or more elements, some of which are not empty strings.)
In general, the continue
statement is particularly useful if you loop over arrays or structures and you want to skip processing for array elements or structure members with specific values, such as the empty string.
The break
statement exits the current loop or case
statement. Processing continues at the next CFScript statement. You end case
statement processing blocks with a break
statement. You can also use a test case with a break
statement to prevent infinite loops, as shown in the following example. This script loops through an array and prints out the array indexes that contain the value key. It uses a conditional test and a break
statement to make sure that the loop ends when at the end of the array.
strings=ArrayNew(1); ArraySet(strings, 1, 10, "lock"); strings[5]="key"; strings[9]="key"; indx=0; for( ; ; ) { indx=indx+1; if(Find("key",strings[indx],1)) { WriteOutput("Found a key at " & indx & ".<br>"); } else if (indx IS ArrayLen(strings)) { WriteOutput("Array ends at index " & indx & ".<br>"); break; } }