(PHP 4, PHP 5)
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. Added in PHP 4.4.0 and 5.0.2, it
uses the locale, which can be changed using setlocale().
SORT_NATURAL
- compare items as strings
using "natural ordering" like natsort(). Added in
PHP 5.4.0.
SORT_FLAG_CASE
- can be combined
(bitwise OR) with
SORT_STRING
or
SORT_NATURAL
to sort strings case-insensitively. Added in PHP 5.4.0.
Returns TRUE
on success or FALSE
on failure.
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.
Be careful when sorting arrays with mixed types values because sort() can produce unpredictable results.