ListFind  
Description
Determines the index of the first list element in which a specified value occurs. Case-sensitive.
 
Returns
Index of the first list element that contains value, with matching case. If not found, returns zero. The search is case-sensitive.
 
Category
List functions
 
Function syntax
ListFind(list, value [, delimiters ])
 
See also
ListContains, ListFindNoCase
 
Parameters
 
Parameter      Description
list A list or a variable that contains one
value A string, a number, or a variable that contains one. Item for which to search. The search is case-sensitive.
delimiters A string or a variable that contains one. Character(s) that separate list elements.
  Default: comma.
  If this parameter contains more than one character, ColdFusion processes each
  occurrence of each character as a delimiter.
 
Usage
ColdFusion ignores empty list elements; thus, the list "a,b,c,,,d" has four elements.
 
Example
<!--- Uses ListFind and ListFindNoCase to see if a substring exists in a list -
-->
<form action="./listfind.cfm" method="POST">
   <p>Try changing the case in Leary's last name:
   <br><input type="Text" size="25" name="myString" value="Leary">
   <p>Pick a search type:
      <select name="type">
         <option value="ListFind" selected>Case-Sensitive
         <option value="ListFindNoCase">Case-Insensitive
      </select>
   <input type="Submit" name="" value="Search Employee List">
</form>

<!--- wait to have a string for searching defined --->
<cfif IsDefined("form.myString") and IsDefined("form.type")>

<cfquery name="SearchEmpLastName" datasource="cfsnippets">
   SELECT  FirstName, RTrim(LastName) AS LName, Phone, Department
   FROM    Employees
</cfquery>

<cfset myList = ValueList(SearchEmpLastName.LName)>
<!--- Is this case-sensitive or case-insensitive searching --->
<cfif form.type is "ListFind">
   <cfset temp = ListFind(myList, form.myString)>
      <cfif temp is 0>
         <h3>An employee with that exact last name was not found</h3>
      <cfelse>
         <cfoutput>
         <p>Employee #ListGetAt(ValueList(SearchEmpLastName.FirstName), temp)#
         #ListGetAt(ValueList(SearchEmpLastName.LName), temp)#, of the
         #ListGetAt(ValueList(SearchEmpLastName.Department), temp)# Department,
         can be reached at #ListGetAt(ValueList(SearchEmpLastName.Phone),
temp)#.
         <p>This was the first employee found under this case-sensitive last name
         search.
         </cfoutput>
      </cfif>
      <cfelse>
         <cfset temp = ListFindNoCase(myList, form.myString)>
         <cfif temp is 0>
            <h3>An employee with that exact last name was not found</h3>
         <cfelse>
            <cfoutput>
            <p>Employee #ListGetAt(ValueList(SearchEmpLastName.FirstName), temp)#
            #ListGetAt(ValueList(SearchEmpLastName.LName), temp)#, of the
            #ListGetAt(ValueList(SearchEmpLastName.Department), temp)#
Department,
            can be reached at #ListGetAt(ValueList(SearchEmpLastName.Phone),
temp)#.
            <p>This was the first employee found under this case-insensitive last
            name search.
         </cfoutput>
      </cfif>
   </cfif>
</cfif>
list  
A list or a variable that contains one
value  
A string, a number, or a variable that contains one. Item for which to search. The search is case-sensitive.
delimiters  
A string or a variable that contains one. Character(s) that separate list elements. Default: comma.
If this parameter contains more than one character, ColdFusion processes each occurrence of each character as a delimiter.