|
ListSort
DescriptionSorts
list elements according to a sort type and sort order.
ReturnsA copy
of a list, sorted.
Function syntaxListSort(list, sort_type [, sort_order, delimiters, includeEmptyValues ])
HistoryColdFusion
MX: Changed the order in which sorted elements are returned: in
a textnocase, descending sort, this function might
return elements in a different sort order than in earlier releases.
If sort_type="textnocase" and
sort_order="desc",
ColdFusion MX processes elements that differ only in case differently
from earlier releases. ColdFusion MX outputs the elements in the
reverse of the ascending order. Earlier releases do not change order
of elements that differ only in case. Both operations are correct.
The new operation ensures that an ascending and descending sort
output elements in exactly reverse order.
For example, in
a textnocase, desc sort of d,a,a,b,A,
the following occurs:
ColdFusion MX returns d,b,A,a,a
Earlier ColdFusion releases return d,b,a,a,A
(In
a textnocase, asc sort, all ColdFusion releases
return a,a,A,b,d.)
Parameters
Parameter
|
Description
|
includeEmptyValues
|
Optional. Set to yes to
include empty values.
|
list
|
A list or a variable that contains one.
|
sort_type
|
- aabzABZ,
if sort_order = "asc" (ascending sort)
-
ZBAzbaa, if sort_order = "desc" (descending sort)
- aAaBbBzzZ, in an
ascending sort; preserves original intra-letter order
- ZzzBbBaAa,
in a descending sort; reverses original intra-letter order
|
sort_order
|
-
aabzABZ or aAaBbBzzZ, depending on value of sort_type,
for letters
- from smaller to larger, for numbers
- ZBAzbaa
or ZzzBbBaAa, depending on value of sort_type,
for letters
- from larger to smaller, for numbers
|
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 uses
the first character in the string as the delimiter, and ignores
the rest.
|
UsageColdFusion
ignores empty list elements; thus, the list "a,b,c,,,d" has four
elements.
Example<h3>ListSort Example</h3>
<!--- Find a list of users who wrote messages --->
<cfquery name = "GetMessageUser" datasource = "cfdocexamples">
SELECT Username, Subject, Posted
FROM Messages
</cfquery>
<cfset myList = ValueList(GetMessageUser.UserName)>
<p>Here is the unsorted list. </p>
<cfoutput>#myList#
</cfoutput>
<p>Here is the list sorted alphabetically:</p>
<cfset sortedList = ListSort(myList, "Text")>
<cfoutput>#sortedList#
</cfoutput>
<p>Here is a numeric list that is to be sorted in descending order.</p>
<cfset sortedNums = ListSort("12,23,107,19,1,65","Numeric", "Desc")>
<cfoutput>#sortedNums# </cfoutput>
<p>Here is a list that must be sorted numerically, since it contains
negative and positive numbers, and decimal numbers. </p>
<cfset sortedNums2 = ListSort("23.75;-34,471:100,-9745","Numeric", "ASC", ";,:")>
<cfoutput>#sortedNums2# </cfoutput>
<p>Here is a list to be sorted alphabetically without consideration of case.</p>
<cfset sortedMix =
ListSort("hello;123,HELLO:jeans,-345,887;ColdFusion:coldfusion",
"TextNoCase", "ASC", ";,:")>
<cfoutput>#sortedMix# </cfoutput>
|