LISTSORT |
説明 ソートのタイプとソート順に従って、リスト要素をソートします。
戻り値 ソートしたリストのコピー
カテゴリ リスト関数
関数のシンタックス
    ListSort(list, sort_type [, sort_order] [, delimiters ])
関連項目 『ColdFusion MX 開発ガイド』の第3章の「ColdFusion 変数の使用」 の「リスト」
ヒストリ ColdFusion MX: ソートした要素を返す順序の変更 : textnocase の降順でソートした場合、以前のリリースと異なるソート順で要素を返すことがあります。sort_type = "textnocase" と sort_order = "desc" を指定した場合、大文字と小文字の区別だけが異なる要素については、ColdFusion MX と以前のリリースでは処理が異なります。ColdFusion MX では、昇順を指定した場合の逆の結果になります。以前のリリースでは、大文字と小文字の区別だけが異なる要素の順序は変更されませんでした。これらはいずれも正しい処理ですが、新しい処理では、昇順と降順とで要素が逆の順序で出力されることが保証されます。 たとえば、d,a,a,b,A を textnocase および desc の指定でソートすると、次のようになります。 ColdFusion MX では、d,b,A,a,a が返されます。 以前の ColdFusion のリリースでは、d,b,a,a,A が返されます。 (textnocase および asc の指定でソートすると、ColdFusion のすべてのリリースにおいて a,a,A,b,d が返されます。)
パラメータ
使用方法 ColdFusion では空のリスト要素が無視されるため、"a,b,c,,,d" の場合は 4 つの要素があることになります。
例
    <h3>ListSort の例</h3>

    <!--- メッセージを書き込んだユーザーのリストを検索 --->
    <cfquery name = "GetMessageUser" datasource = "cfdocexamples">
    SELECT    Username, Subject, Posted
    FROM      Messages
    </cfquery>

    <cfset myList = ValueList(GetMessageUser.UserName)>
    <p>これはソートしていないリストです。</p>
    <cfoutput>#myList#
       </cfoutput>
    <p>これはアルファベット順でソートしたリストです。</p>
    <cfset sortedList = ListSort(myList, "Text")>
    <cfoutput>#sortedList#
       </cfoutput>

    <p>これは数値順の降順でソートしたリストです。</p>
    <cfset sortedNums = ListSort("12,23,107,19,1,65","Numeric", "Desc")>
    <cfoutput>#sortedNums# </cfoutput>

    <p>これは、負の数、正の数、および小数を含むリストを数値順でソートした結果です。</p>
    <cfset sortedNums2 = ListSort("23.75;-34,471:100,-9745","Numeric", "ASC", ";,:")>
    <cfoutput>#sortedNums2# </cfoutput>

    <p>これは大文字と小文字を区別せずにアルファベット順でソートしたリストです。</p>
    <cfset sortedMix =
       ListSort("hello;123,HELLO:jeans,-345,887;ColdFusion:coldfusion",
          "TextNoCase", "ASC", ";,:")>
    <cfoutput>#sortedMix# </cfoutput>

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

SORT_TYPE |

- numeric: 数値をソートします。
- text: テキストを、大文字と小文字を区別してアルファベット順にソートします。大文字と小文字は分けられ、次のようにソートされます。

- sort_order = "asc" (昇順) の場合は、aabzABZ となります。
- sort_order = "desc" (降順) の場合は、ZBAzbaa となります。 textnocase: テキストを、大文字と小文字を区別せずにアルファベット順にソートします。この場合、大文字と小文字に関係なく、次のようにアルファベット順にソートされます。
- 昇順では、aAaBbBzzZ のように、同じアルファベットが複数ある場合はそれらの元の順序が保持さ れます。
- 降順では、ZzzBbBaAa のように、同じアルファベットでの元の順番は逆になります。

SORT_ORDER |

- asc - 昇順のソートです (デフォルト)。

- 文字の場合、sort_type に指定した値に応じて aabzABZ または aAaBbBzzZ のようにソートされ ます。
- 数値の場合、小さい数から大きい数の順にソートされます。 desc - 降順のソートです。
- 文字の場合、sort_type の値に応じて ZBAzbaa または ZzzBbBaAa のようにソートされます。
- 数値の場合、大きい数から小さい数の順にソートされます。

DELIMITERS |
文字列、または文字列を含んでいる変数です。リスト要素の区切り文字を指定します。デフォルト値は カンマ (,) です。
このパラメータに複数の文字が含まれている場合は、最初の文字だけが区切り文字として使用され、残 りは無視されます。