Resumo : neste tutorial, você aprenderá como usar a sort()
função array do PHP para classificar os elementos de um array em ordem crescente.
Introdução à função array sort() do PHP
A sort()
função classifica os elementos de um array em ordem crescente. O seguinte mostra a sintaxe da sort()
função:
sort(array &$array, int $flags = SORT_REGULAR): bool
Linguagem de código: PHP ( php )
A sort()
função possui dois parâmetros:
$array
é a matriz de entrada a ser classificada.$flags
argumento é um ou uma combinação de vários sinalizadores que alteram o comportamento de classificação da função.
O $flags
parâmetro padrão é SORT_REGULAR
. Isso significa que a função comparará elementos do array de entrada usando operadores de comparação.
Para combinar vários sinalizadores, você usa o | personagem, por exemplo, SORT_STRING | SORT_FLAG_CASE
. A sort()
função retorna true
em caso de sucesso ou false
falha.
Exemplos de funções de classificação de array PHP
Vejamos alguns exemplos de uso da sort()
função.
1) Usando a função PHP sort() para classificar um array de números
O exemplo a seguir usa a sort()
função PHP para classificar um array de três números:
<?php
$numbers = [2, 1, 3];
sort($numbers);
print_r($numbers);
Linguagem de código: PHP ( php )
Saída:
Array
(
[0] => 1
[1] => 2
[2] => 3
)
Linguagem de código: PHP ( php )
Este exemplo usa o SORT_REGULAR
sinalizador.
2) Usando a função PHP sort() para classificar um array de strings
O exemplo a seguir usa a sort()
função para classificar uma matriz de strings em ordem alfabética:
<?php
$names = ['Bob', 'John', 'Alice'];
sort($names, SORT_STRING);
print_r($names);
Linguagem de código: PHP ( php )
Saída:
Array
(
[0] => Alice
[1] => Bob
[2] => John
)
Linguagem de código: PHP ( php )
Este exemplo usa o SORT_STRING
sinalizador que compara elementos de array como strings.
3) Usando a função PHP sort() para classificar uma matriz de strings sem distinção entre maiúsculas e minúsculas
O exemplo a seguir usa a sort()
função para classificar uma matriz de strings:
<?php
$fruits = ['apple', 'Banana', 'orange'];
sort($fruits);
print_r($fruits);
Linguagem de código: PHP ( php )
Saída:
Array
(
[0] => Banana
[1] => apple
[2] => orange
)
Linguagem de código: PHP ( php )
Para classificar uma matriz de strings sem distinção entre maiúsculas e minúsculas, você combina o SORT_STRING
sinalizador com o SORT_FLAG_CASE
sinalizador assim:
<?php
$fruits = ['apple', 'Banana', 'orange'];
sort($fruits, SORT_FLAG_CASE | SORT_STRING);
print($fruits);
Linguagem de código: PHP ( php )
Saída:
Array
(
[0] => apple
[1] => Banana
[2] => orange
)
Linguagem de código: PHP ( php )
4) Usando a função PHP sort() para classificar um array de strings usando “ordenação natural”
Para classificar uma matriz de strings na “ordenação natural”, você combina os sinalizadores SORT_STRING
e . SORT_NATURAL
Por exemplo:
<?php
$ranks = ['A-1', 'A-2', 'A-12', 'A-11'];
sort($ranks, SORT_STRING | SORT_NATURAL);
print_r($ranks);
Linguagem de código: PHP ( php )
Saída:
Array
(
[0] => A-1
[1] => A-2
[2] => A-11
[3] => A-12
)
Linguagem de código: PHP ( php )
Função PHP rsort()
A rsort()
função é semelhante à sort()
função, exceto que classifica os elementos de um array em ordem decrescente. A sintaxe da rsort()
função é a seguinte:
rsort(array &$array, int $flags = SORT_REGULAR): bool
Linguagem de código: PHP ( php )
Por exemplo, o seguinte classifica os $ranks
elementos da matriz usando a ordem natural em ordem decrescente.
<?php
$ranks = ['A-1', 'A-2', 'A-12', 'A-11'];
rsort($ranks, SORT_STRING | SORT_NATURAL);
print_r($ranks);
Linguagem de código: PHP ( php )
Saída:
Array
(
[0] => A-12
[1] => A-11
[2] => A-2
[3] => A-1
)
Linguagem de código: PHP ( php )
Resumo
- Use a
sort()
função para classificar os elementos de uma matriz em ordem crescente. - Use a
rsort()
função para classificar os elementos de uma matriz em ordem decrescente. - Use um ou mais sinalizadores para alterar o comportamento de classificação das funções
sort()
oursort()
.