View comments | RSS feed
Contents > CFML Reference > ColdFusion Functions > ListFind PreviousNext

ListFind

Determines the index of the first list element in which a specified value occurs. Case-sensitive.

Index of the first list element that contains value, with matching case. If not found, returns zero. The search is case-sensitive.

List functions

ListFind(list, value [, delimiters ])

ListContains, ListFindNoCase

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.

ColdFusion ignores empty list elements; thus, the list "a,b,c,,,d" has four elements.

<!--- 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> 

Contents > CFML Reference > ColdFusion Functions > ListFind PreviousNext

ColdFusion 8 | ColdFusion MX 7 | ColdFusion MX 6.1 | ColdFusion MX | Forums | Developer Center | Bug Reporting

Version 6.1

Comments are no longer accepted for ColdFusion MX 6.1. ColdFusion 8 is the current version.

Comments


Daveb457 said on Jan 12, 2005 at 12:12 PM :
i have used this with great success. I am trying to learn if I can search for multiple seperate values with listFindNoCase. <listFindNoCase (list, value1 or value2 or value3, ,,)> the 'or' is searching for seperate specific list items.
thanks
d

 

RSS feed | Send me an e-mail when comments are added to this page | Comment Report

Current page: http://livedocs.adobe.com/coldfusion/6.1/htmldocs/functib9.htm