説明

指定された値が出現する最初のリスト要素のインデックスを調べます。大文字と小文字は区別されます。

戻り値

value を含んでいる最初のリスト要素のインデックス。大文字と小文字は区別されます。検出されなかった場合は 0 が返されます。この検索では大文字と小文字が区別されます。

履歴

ColdFusion(2018 リリース):パラメーター名を includeEmptyValues から includeEmptyFields に変更しました。

カテゴリ

リスト関数

関数のシンタックス

ListFind(list, value [, delimiters, includeEmptyFields ])

関連項目

ListContainsListFindNoCaseリスト  『ColdFusion アプリケーションの開発』のデータ型開発ガイド

パラメーター

パラメーター

説明

includeEmptyFields

オプション。空の値を含めるには、このパラメーターを yes に設定します。

list

リスト、またはリストを含んでいる変数です。

value

文字列、数字、あるいは、文字列または数字を含んでいる変数です。検索する項目を指定します。この検索では大文字と小文字が区別されます。

delimiters

文字列、または文字列を含んでいる変数です。リスト要素を区切る文字です。デフォルト値はカンマです。このパラメーターに複数の文字が含まれている場合、それぞれの文字が出現するすべての箇所が区切り文字として処理されます。

履歴

ColdFusion(2018 リリース):パラメーター名を includeEmptyValues から includeEmptyFields に変更しました。

使用方法

ColdFusion では空のリスト要素が無視されるので、"a,b,c,,,d" の場合は 4 つの要素があることになります。

<!--- 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:</p>
<br><input type="Text" size="25" name="myString" value="Leary">
<p>Pick a search type:</p>
<select name="type">
<option value="ListFind" selected>Case-Sensitive</option>
<option value="ListFindNoCase">Case-Insensitive</option>
</select>
<input type="Submit" value="Search Employee List">
</form>
<!--- wait to have a string for searching defined --->
<cfif structKeyExists(form,"myString") AND structKeyExists(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 EQ "ListFind">
<cfset temp = ListFind(myList, form.myString)>
<cfif temp EQ 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>
<p>This was the first employee found under this case-sensitive last name
search.</p>
</cfoutput>
</cfif>
<cfelse>
<cfset temp = ListFindNoCase(myList, form.myString)>
<cfif temp EQ 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>
<p>This was the first employee found under this case-insensitive last
name search.</p>
</cfoutput>
</cfif>
</cfif>
</cfif>
<cfscript>
       myList="Tokyo,Bangkok,bangkok,bangKok,Jakarta,Manila,Bangalore,Shanghai";
       myFind=ListFind(myList,"bangkok");
       WriteOutput(myFind); // Returns 3
</cfscript>

出力

3

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー