Read Time:58 Second
PHP has several functions that deal with sorting arrays, and this document exists to help sort it all out.
The main differences are:
- Some sort based on the array keys, whereas others by the values:
$array['key'] = 'value';
- Whether or not the correlation between the keys and values are maintained after the sort, which may mean the keys are reset numerically (0,1,2 …)
- The order of the sort: alphabetical, ascending (low to high), descending (high to low), natural, random, or user defined
- Note: All of these sort functions act directly on the array variable itself, as opposed to returning a new sorted array
- If any of these sort functions evaluates two members as equal then they retain their original order. Prior to PHP 8.0.0, their order were undefined (the sorting was not stable).
|Function name||Sorts by||Maintains key association||Order of sort||Related functions|
|array_multisort()||value||string keys yes, int keys no||first array or sort options||array_walk()|
|natcasesort()||value||yes||natural, case insensitive||natsort()|