Ordenação de Arrays em PHP

Aqui vamos explorar algumas das diferentes formas de ordenar arrays do PHP com exemplos e descrever alguns dos usos para os vários métodos.

PHP sort array é uma operação essencial, pois facilita uma melhor disposição dos dados, além de facilitar a sua recuperação quando necessário.

Existem várias funções embutidas no PHP que podem classificar arrays com base em uma variedade de parâmetros, como valor, chave, ordem crescente ou decrescente, etc.

Para ser capaz de selecionar o método de classificação mais apropriado para um caso de uso específico em PHP, você deve ter um conhecimento completo dos diferentes métodos de classificação para fazer a escolha certa.

Isso permitirá que você melhore a eficiência e o desempenho de seus programas PHP.



Funções de matriz de classificação do PHP

Aqui, vamos dar uma olhada em como classificar arrays PHP pelos seguintes métodos:

Funções Visão geral
organizar() Este é um método para classificar matrizes em ordem crescente.
rsort() Este é um método para classificar matrizes em ordem decrescente.
um tipo() Esta função classifica matrizes associativas em ordem crescente com base no valor que elas contêm.
ksort() Classifica arrays associativos de ordem crescente para decrescente com base na chave que eles contêm.
arsort() É uma função que classifica matrizes associativas em ordem decrescente com base em seus valores.
krsort() É um método que classifica arrays associativos de acordo com sua chave, em ordem decrescente.

Ordenação Ascendente do Array

O exemplo a seguir classifica os elementos da matriz $names em ordem alfabética crescente:

PHP Sort Array Example: 1 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$names = array("Jos", "Stuart", "Ben", "Tom");
sort($names); //This function sorts the array into ascending order
$len=count($names);
for($a=0;$a<$len;$a++)
{
echo $names[$a];
echo "<br>";
}
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Matrizes de Ordenação do PHP

No exemplo abaixo, ordenaremos os elementos do array $num em ordem numérica crescente da seguinte forma:

PHP Sort Array Example: 2 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$numbers = array(6, 2, 11, 42, 9);
sort($numbers); //This sorts the number in ascending order
$len=count($numbers);
for($a=0;$a<$len;$a++)
{
echo $numbers[$a];
echo "<br>";
}
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Ordenação Descendente do Array

É possível classificar uma matriz usando a função rsort() em ordem decrescente com base nos valores contidos na matriz. Veja como funciona:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$names = array("Jos", "Stuart", "Ben", "Tom");
rsort($names); //This function sorts the array into descending order
$len=count($names);
for($a=0;$a<$len;$a++) {
echo $names[$a];
echo "<br>";
}
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
No exemplo abaixo, ordenaremos os elementos do array $num em ordem numérica decrescente da seguinte forma:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$numbers = array(6, 2, 11, 42, 9);
rsort($numbers); //This sorts the number in ascending order
$len=count($numbers);
for($a=0;$a<$len;$a++){
echo $numbers[$a];
echo "<br>";
}
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Matriz de classificação do PHP – sort()

Usando a função PHP asort() , você pode classificar um array ascendentemente de acordo com seus valores enquanto mantém a associação entre as chaves e os valores no array durante a classificação.
Em outras palavras, a função classifica o array de acordo com os valores, mas mantém as chaves emparelhadas com seus respectivos valores enquanto classifica.
Abaixo está um exemplo de arrays classificados de acordo com seus valores usando a função asort() :

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$marks = array(
"Science"=>90,
"Mathematic"=>80,
"English"=>86,
"Computer Studies"=>84,
"Geography"=>96);
asort($marks); // This sorts by the values in the key value pair
foreach($marks as $mark => $value){
echo $mark." = ". $value;
echo "<br>";
}
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Aqui está outro exemplo para compreensão clara da função asort() para classificar a matriz de acordo com seu valor:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$user_info = array(
"FirstName"=>"Mark",
"LastName"=>"Zuckerberg",
"Age"=>38,
"Gender"=>"M",
);
asort($user_info);
foreach($user_info as $field => $value) {
echo $field . " = " . $value. "<br>";
echo " ";
}
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Matriz de classificação do PHP – ksort()

Usando a função ksort() , você pode classificar uma matriz de dados em ordem crescente com base nas chaves da matriz.
Ao fazer isso, as chaves no array irão ascender na ordem em que foram classificadas, e os valores correspondentes a essas chaves permanecerão associados às chaves do array.
Abaixo está um exemplo de array ordenado em ordem crescente de acordo com sua chave usando a função ksort() :

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$marks = array(
"Science"=>90,
"Mathematic"=>80,
"English"=>86,
"Computer Studies"=>84,
"Geography"=>96);
ksort($marks); // This sorts by the values in the key value pair
foreach($marks as $mark => $value){
echo $mark." = ". $value;
echo "<br>";
}
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Aqui está outro exemplo para uma compreensão clara da função ksort() para ordenar o array em ordem decrescente de acordo com sua chave:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$user_info = array(
"FirstName"=>"Mark",
"LastName"=>"Zuckerberg",
"Age"=>38,
"Gender"=>"M",
);
ksort($user_info);
foreach($user_info as $field => $value) {
echo $field . " = " . $value. "<br>";
echo " ";
}
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Matriz de classificação do PHP – arsort ()

Usando a função arsort() , pode-se classificar uma coleção em ordem decrescente com base nos valores contidos nela, mantendo a associação entre os valores e as chaves.
Dessa forma, as chaves associadas aos respectivos valores das linhas permanecerão associadas a esses valores após a conclusão da classificação.
Segue abaixo um exemplo de array ordenado em ordem decrescente de acordo com seu valor utilizando a função arsort() :

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$marks = array(
"Science"=>90,
"Mathematic"=>80,
"English"=>86,
"Computer Studies"=>84,
"Geography"=>96);
arsort($marks); // This sorts by the values in the key value pair
foreach($marks as $mark => $value){
echo $mark." = ". $value;
echo "<br>";
}
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Aqui está outro exemplo para uma compreensão clara da função arsort() para classificar a matriz em ordem decrescente de acordo com seu valor:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$user_info = array(
"FirstName"=>"Mark",
"LastName"=>"Zuckerberg",
"Age"=>38,
"Gender"=>"M",
);
arsort($user_info);
foreach($user_info as $field => $value) {
echo $field . " = " . $value. "<br>";
echo " ";
}
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Matriz de classificação do PHP – krsort()

Em krsort() , você pode classificar uma matriz de itens em ordem decrescente com base nas chaves contidas nela.
Ao fazer isso, significa que as chaves do array serão classificadas em ordem decrescente, enquanto os valores associados a cada chave permanecerão classificados em ordem decrescente.
Abaixo está um exemplo de array ordenado em ordem decrescente de acordo com sua chave usando a função krsort() :

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$marks = array(
"Science"=>90,
"Mathematic"=>80,
"English"=>86,
"Computer Studies"=>84,
"Geography"=>96);
krsort($marks); // This sorts by the values in the key value pair
foreach($marks as $mark => $value){
echo $mark." = ". $value;
echo "<br>";
}
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Aqui está outro exemplo para uma compreensão clara da função krsort() para ordenar o array em ordem decrescente de acordo com sua chave:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$user_info = array(
"FirstName"=>"Mark",
"LastName"=>"Zuckerberg",
"Age"=>38,
"Gender"=>"M",
);
krsort($user_info);
foreach($user_info as $field => $value) {
echo $field . " = " . $value. "<br>";
echo " ";
}
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Exemplo de Explicação

No exemplo acima, criamos uma matriz associativa $user_info com algumas informações pessoais sobre uma pessoa (neste caso, Mark Zuckerberg ) e, em seguida, classificamos a matriz em ordem decrescente por chave usando a função krsort() . Em seguida, usamos um loop foreach para imprimir a matriz classificada na página da web.

Isso cria um array associativo $user_info com quatro pares chave-valor, onde cada chave representa um campo de informações pessoais e cada valor representa um valor específico desse campo.

A chave “FirstName” tem o valor “Mark”, a chave “LastName” tem o valor “Zuckerberg” e assim por diante.

A função krsort() classifica o array $user_info em ordem decrescente por chave.

Isso significa que a matriz será classificada com base nas chaves na ordem inversa, de “LastName” para “Age” para “FirstName”.

Esse loop foreach é usado para iterar sobre o array classificado $user_info e imprimir cada par chave-valor na página da web.

Para cada par chave-valor, o código imprime a chave seguida do valor, separados por um sinal de igual e um espaço.

Portanto, a saída final desse código na página da Web seria:

LastName = Zuckerberg
Age = 38
FirstName = Mark
Gender = M

Como você pode ver, a matriz foi classificada em ordem decrescente por chave, e o loop foreach é usado para imprimir cada par chave-valor nessa ordem.

Nós valorizamos o seu feedback.
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Assine a nossa newsletter
Digite seu e-mail para receber um resumo semanal de nossos melhores posts. Saber mais!
ícone