|
ListFindNoCase
DescriptionDetermines
the index of the first list element in which a specified value occurs.
ReturnsIndex
of the first list element that contains value. If not found,
returns zero. The search is case-insensitive.
Function syntaxListFindNoCase(list, value [, delimiters, includeEmptyValues ])
Parameters
Parameter
|
Description
|
includeEmptyValues
|
Optional. Set to yes to
include empty values.
|
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.
Characters 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.
|
UsageColdFusion
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="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>
|