CFLOOP: LOOPING OVER A LIST OR FILE  
Description

Looping over a list steps through elements contained in any of these entities:

  • A variable
  • A value that is returned from an expression
  • A file
 
Syntax
<cfloop 
   index = "index_name"
   list = "list_items"
   delimiters = "item_delimiter">
   ...
</cfloop>
 
See also

cfabort, cfbreak, cfexecute, cfexit, cfif, cflocation, cfswitch, cfthrow, cftry; "cfloop and cfbreak" in Chapter 2, "Elements of CFML," in ColdFusion MX Developer's Guide

 
Example

This loop displays four names:

<cfloop index = "ListElement" 
   list = "John,Paul,George,Ringo"> 
      <cfoutput>#ListElement#</cfoutput><br> 
</cfloop>

You can put more than one character in the delimiters attribute, in any order. For example, this loop processes commas, colons, and slashes as list delimiters:

<cfloop index = "ListElement" 
   list = "John/Paul,George::Ringo" 
   delimiters = ",:/"> 
      <cfoutput>#ListElement#</cfoutput><br> 
</cfloop>

ColdFusion skips the second and subsequent consecutive delimiters between list elements. Thus, in the example, the two colons between "George" and "Ringo" are processed as one delimiter.

To loop over each line of a file, use the tag this way:

<cfloop list="#theFile#" 
   index="curLine" 
   delimiters="#chr(10)##chr(13)#"> 
   ...
</cfloop>
INDEX  
  Required
 

In a list loop, the variable to receive the next list element.

LIST  
  Required
 

A list, variable, or filename; contains a list.

DELIMITERS  
  Optional
 

Character(s) that separates items in list.