sort
Sort an array in ascending order
Description
true sort(array &$array
, int $flags
= SORT_REGULAR
)
Note:
If two members compare as equal, they retain their original order.
Prior to PHP 8.0.0, their relative order in the sorted array was undefined.
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:
Resets array's internal pointer to the first element.
Parameters
-
array
-
The input array.
-
flags
-
The optional second parameter flags
may be used to modify the sorting behavior using these values:
Sorting type flags:
-
SORT_REGULAR
- compare items normally;
the details are described in the comparison operators section
-
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
Return Values
Always returns true
.
Examples
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.
Notes
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.
Warning
Be careful when sorting arrays with mixed types values because
sort can produce unexpected results,
if flags
is SORT_REGULAR
.