Method sort()
- Method
sort
array
sort(array
(mixed
)index
,array
(mixed
) ...data
)- Description
Sort arrays destructively.
This function sorts the array
index
destructively. That means that the array itself is changed and returned, no copy is created.If extra arguments are given, they are supposed to be arrays of the same size as
index
. Each of these arrays will be modified in the same way asindex
. I.e. if index 3 is moved to position 0 inindex
index 3 will be moved to position 0 in all the other arrays as well.The sort order is as follows:
Integers and floats are sorted in ascending order.
Strings are sorted primarily on the first characters that are different, and secondarily with shorter strings before longer. Different characters are sorted in ascending order on the character value. Thus the sort order is not locale dependent.
Arrays are sorted recursively on the first element. Empty arrays are sorted before nonempty ones.
Multisets are sorted recursively on the first index. Empty multisets are sorted before nonempty ones.
Objects are sorted in ascending order according to `<(), `>() and `==().
Other types aren't reordered.
Different types are sorted in this order: Arrays, mappings, multisets, objects, functions, programs, strings, types, integers and floats. Note however that objects can control their ordering wrt other types with `<, `> and `==, so this ordering of types only applies to objects without those functions.
- Returns
The first argument is returned.
- Note
The sort is stable, i.e. elements that are compare-wise equal aren't reordered.
- See also