Determines the index of the first list element in which a specified value occurs.
Index of the first list element that contains value. If not found, returns zero. The search is case-insensitive.
ListFindNoCase(list
,value
[,delimiters
])
ListContains, ListFind; "Lists" in the ColdFusion Developer's Guide
Parameter |
Description |
---|---|
list |
A list or a variable that contains one. |
value |
Number or string for which to search. The search is case-insensitive. |
delimiters |
A string or a variable that contains one. Character(s) that separate list elements. The default value is 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="cfdocexamples"> 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>