PHP Array sort() Function (original) (raw)
Summary: in this tutorial, you’ll learn how to use the PHP array sort()
function to sort elements of an array in ascending order.
Introduction to the PHP array sort() function #
The sort()
function sorts the elements of an array in place in ascending order. The following shows the syntax of the sort()
function:
sort(array &$array, int $flags = SORT_REGULAR): bool
Code language: PHP (php)
The sort()
function has two parameters:
$array
is the input array to sort.$flags
argument is one or a combination of multiple flags that change the sorting behavior of the function.
The $flags
parameter defaults to SORT_REGULAR
. It means that the function will compare elements of the input array using comparison operators.
To combine multiple flags, you use the | character, for example, SORT_STRING | SORT_FLAG_CASE
. The sort()
function returns true
on success or false
on failure.
Sorting an array of numbers #
The following example uses the PHP sort()
function to sort an array of three numbers:
`<?php
$numbers = [2, 1, 3]; sort($numbers);
print_r($numbers);`Code language: PHP (php)
Output:
Array ( [0] => 1 [1] => 2 [2] => 3 )
Code language: PHP (php)
This example uses the SORT_REGULAR
flag.
Sorting an array of strings #
The following example uses the sort()
function to sort an array of strings alphabetically:
`<?php
$names = ['Bob', 'John', 'Alice']; sort($names, SORT_STRING);
print_r($names);`Code language: PHP (php)
Output:
Array ( [0] => Alice [1] => Bob [2] => John )
Code language: PHP (php)
This example uses the SORT_STRING
flag that compares array elements as strings.
Sorting an array of strings case-insensitively #
The following example uses the sort()
function to sort an array of strings:
`<?php
$fruits = ['apple', 'Banana', 'orange']; sort($fruits);
print_r($fruits);`Code language: PHP (php)
Output:
Array ( [0] => Banana [1] => apple [2] => orange )
Code language: PHP (php)
To sort an array of strings case-insensitively, you combine the SORT_STRING
flag with the SORT_FLAG_CASE
flag like this:
`<?php
$fruits = ['apple', 'Banana', 'orange']; sort($fruits, SORT_FLAG_CASE | SORT_STRING);
print_r($fruits);`Code language: PHP (php)
Output:
Array ( [0] => apple [1] => Banana [2] => orange )
Code language: PHP (php)
Sorting an array of strings using “natural ordering” [#](#sorting-an-array-of-strings-using-natural-ordering "Anchor for Sorting an array of strings using "natural ordering"")
To sort an array of strings in the “natural ordering”, you combine the SORT_STRING
and SORT_NATURAL
flags. For example:
`<?php
$ranks = ['A-1', 'A-2', 'A-12', 'A-11']; sort($ranks, SORT_STRING | SORT_NATURAL);
print_r($ranks);`Code language: PHP (php)
Output:
Array ( [0] => A-1 [1] => A-2 [2] => A-11 [3] => A-12 )
Code language: PHP (php)
PHP rsort() function #
The rsort()
function is like the sort()
function except that it sorts the elements of an array in descending order. The syntax of the rsort()
function is as follows:
rsort(array &$array, int $flags = SORT_REGULAR): bool
Code language: PHP (php)
For example, the following sorts the $ranks
array’s elements using the natural ordering in descending order.
`<?php
$ranks = ['A-1', 'A-2', 'A-12', 'A-11']; rsort($ranks, SORT_STRING | SORT_NATURAL);
print_r($ranks);`Code language: PHP (php)
Output:
Array ( [0] => A-12 [1] => A-11 [2] => A-2 [3] => A-1 )
Code language: PHP (php)
Summary #
- Use the
sort()
function to sort elements of an array in ascending order. - Use the
rsort()
function to sort elements of an array in descending order. - Use one or more flags to change the sorting behavior of the
sort()
orrsort()
functions.
Did you find this tutorial useful?