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.