(PHP 4, PHP 5, PHP 7)
sort — Sort an array
&$array
[, int $sort_flags
= SORT_REGULAR
] )This function sorts an array. Elements will be arranged from lowest to highest when this function has completed.
array
The input array.
sort_flags
The optional second parameter sort_flags
may be used to modify the sorting behavior using these values:
Sorting type flags:
SORT_REGULAR
- compare items normally
(don't change types)
SORT_NUMERIC
- compare items numerically
SORT_STRING
- compare items as strings
SORT_LOCALE_STRING
- compare items as
strings, based on the current locale. It uses the locale,
which can be changed using setlocale()
SORT_NATURAL
- compare items as strings
using "natural ordering" like natsort()
SORT_FLAG_CASE
- can be combined
(bitwise OR) with
SORT_STRING
or
SORT_NATURAL
to sort strings case-insensitively
Returns TRUE
on success or FALSE
on failure.
Version | Description |
---|---|
5.4.0 |
Added support for SORT_NATURAL and
SORT_FLAG_CASE as sort_flags
|
5.0.2 |
Added SORT_LOCALE_STRING
|
Example #1 sort() example
<?php
$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}
?>
The above example will output:
fruits[0] = apple fruits[1] = banana fruits[2] = lemon fruits[3] = orange
The fruits have been sorted in alphabetical order.
Example #2 sort() example using case-insensitive natural ordering
<?php
$fruits = array(
"Orange1", "orange2", "Orange3", "orange20"
);
sort($fruits, SORT_NATURAL | SORT_FLAG_CASE);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}
?>
The above example will output:
fruits[0] = Orange1 fruits[1] = orange2 fruits[2] = Orange3 fruits[3] = orange20
The fruits have been sorted like natcasesort().
Note: This function assigns new keys to the elements in
array
. It will remove any existing keys that may have been assigned, rather than just reordering the keys.
Note: Like most PHP sorting functions, sort() uses an implementation of » Quicksort. The pivot is chosen in the middle of the partition resulting in an optimal time for already sorted arrays. This is however an implementation detail you shouldn't rely on.
Be careful when sorting arrays with mixed types values because sort() can produce unpredictable results.