Description
&$array
[, int $sort_flags
= SORT_REGULAR
] ) : boolThis function sorts an array. Elements will be arranged from lowest to highest when this function has completed.
Note:
If two members compare as equal, their relative order in the sorted array is undefined.
Parameters
-
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) withSORT_STRING
orSORT_NATURAL
to sort strings case-insensitively
-
Changelog
Version | Description |
---|---|
5.4.0 |
Added support for SORT_NATURAL and
SORT_FLAG_CASE as sort_flags
|
5.0.2 |
Added SORT_LOCALE_STRING
|
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: 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.
See Also
- asort() - Sort an array and maintain index association
- rsort() - Sort an array in reverse order
- The comparison of array sorting functions
English translation
You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.
Thank you in advance.
Document created the 30/01/2003, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/php-rf-sort.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.