arraySort
Description
Sorts array elements numerically or alphanumerically.
Categories
History
ColdFusion
MX:
Changed thrown exceptions: This function can
throw the ArraySortSimpleValueException error and ValueNotNumeric
error.
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 processes elements that differ only in case differently
from earlier releases, as follows:
ColdFusion reverses
the elements’ original order.
Releases earlier than ColdFusion MX do not change the elements’
original order.
For
example, in a textnocase, desc sort
of d,a,a,b,A, the following occurs:
ColdFusion MX and later returns d,b,A,a,a
Releases earlier than ColdFusion MX return d,b,a,a,A
Syntax
ArraySort(array, sort_type[, sort_order])
Attributes
| Attribute | Description | Required | Default |
|---|---|---|---|
| array | Name of an array | ||
| sort_order | asc - ascending sort order. Default. - aabzABZ or aAaBbBzzZ, depending on value of sort_type, for letters - from smaller to larger, for numbers desc - descending sort order. - ZBAzbaa or ZzzBbBaAa, depending on value of sort_type, for letters - from larger to smaller, for numbers | ||
| sort_type | numeric: sorts numbers text: sorts text alphabetically, taking case into account (also known as case sensitive). All letters of one case precede the first letter of the other case: - aabzABZ, if sort_order = "asc" (ascending sort) - ZBAzbaa, if sort_order = "desc" (descending sort) textnocase: sorts text alphabetically, without regard to case (also known as case-insensitive). A letter in varying cases precedes the next letter: - aAaBbBzzZ, in an ascending sort; preserves original intra-letter order - ZzzBbBaAa, in a descending sort; reverses original intra-letter order |
Returns
True,
if sort is successful; False, otherwise.
Example
<!--- This example shows ArraySort. --->
<cfquery name = "GetEmployeeNames" datasource = "cfdocexamples">
SELECT FirstName, LastName FROM Employees
</cfquery>
<!--- Create an array. --->
<cfset myArray = ArrayNew(1)>
<!--- Loop through the query and append these names successively to the last element. --->
<cfloop query = "GetEmployeeNames">
<cfset temp = ArrayAppend(myArray, "#FirstName# #LastName#")>
</cfloop>
<!--- Show the resulting array as a list. --->
<cfset myList = ArrayToList(myArray, ",")>
<!--- Sort that array in descending order alphabetically. --->
<cfset isSuccessful = ArraySort(myArray, "textnocase", "desc")>
...