ArraySort |
Description
Sorts array elements numerically or alphanumerically.
Returns
True, if sort is successful; False, otherwise.
Category
Array functions, List functions
Function syntax
    ArraySort(array, sort_type [, sort_order ])
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 MX processes elements that differ only in case differently from earlier releases, as follows: ColdFusion MX reverses the elements' original order Earlier releases of ColdFusion 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 returns d,b,A,a,a
- Earlier ColdFusion releases return d,b,a,a,A
Parameters
Parameter | Description
array | Name of an array
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
| 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
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
Throws
If an array element is other than a simple element, this function throws an ArraySortSimpleValueException error. If sort_type is numeric and an array element is not numeric, this function throws a ValueNotNumeric error.
Example
    <!--- This example shows ArraySort --->
    <cfquery name = "GetEmployeeNames" datasource = "cfsnippets">
    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 descending alphabetically --->
    <cfset isSuccessful = ArraySort(myArray, "textnocase", "desc")>
    ...

array |
Name of an array

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

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