Classificação de array PHP

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): boolLinguagem de código:  PHP  ( php )

A sort()função possui dois parâmetros:

  • $arrayé a matriz de entrada a ser classificada.
  • $flagsargumento é um ou uma combinação de vários sinalizadores que alteram o comportamento de classificação da função.

O $flagsparâ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 trueem caso de sucesso ou falsefalha.

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_REGULARsinalizador.

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_STRINGsinalizador 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_STRINGsinalizador com o SORT_FLAG_CASEsinalizador 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_STRINGe . SORT_NATURALPor 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): boolLinguagem de código:  PHP  ( php )

Por exemplo, o seguinte classifica os $rankselementos 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()ou rsort().

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *