Bóson Treinamentos em Ciência e Tecnologia

Ordenação de Arrays em PHP

Ordenação de Arrays em PHP

Ordenação de Arrays em PHP -Função sort

A função sort é utilizada para ordenar os elementos de um array em PHP. Os elementos são ordenados do menor para o maior valor, significando do menor número para o maior, em arrays numéricos, e ordem alfabética, em arrays de strings. Esse comportamento pode ser alterado por meio de flags passadas como argumento para a função.

Sintaxe:

sort(array [, $sort_flags = OPÇÃO])

Parâmetros:

A função retorna o valor TRUE se a operação tiver êxito, ou FALSE se falhar.

Exemplos

1 – Ordenar array em ordem alfabética:

<?php
 $frutas = array("laranja", "maçã", "banana", "caju", "melancia", "uva", "graviola");
 sort($frutas);
 foreach ($frutas as $fruta) {
   echo "$fruta<br>";
 }
 echo "<br>";
?>

2 – Ordenar o array anterior em ordem alfabética, mostrando chaves e seus respectivos valores:

<?php
foreach ($frutas as $chave => $valor) {
 echo "Frutas[" . $chave . "] = " . $valor . "<br>";
}
echo "<br>";
?>

3 – Ordenação reversa: função rsort():

<?php
 $frutas = array("laranja", "maçã", "banana", "caju", "melancia", "uva", "graviola");
 rsort($frutas);
 foreach ($frutas as $fruta) {
 echo "$fruta<br>";
 }
 echo "<br>";
?>

4 – Um cuidado especial deve ser tomado quando os itens do array são tratados como strings. Vejamos um exemplo que mostra a diferença entre a comparação como strings e a ordem natural de ordenação do PHP. Suponha um array que contenha os itens a seguir (strings):

{ 2 12 23 11 6 5 18 24 29 1 3 31 17 }

Vamos ordenar esse array usando a ordem por string (flag  SORT_STRING) e depois combinando-a com a flag de ordem natural (SORT_NATURAL):

<?php
 $numeros = array(2, 12, 23, 11, 6, 5, 18, 24, 29, 1, 3, 31, 17);
 sort($numeros, SORT_STRING);
 echo "Como strings -> SORT_STRING:<br>";
 foreach ($numeros as $num) {
   echo "$num<br>";
 }
 echo "<br>";
 echo "Ordem natural -> SORT_NATURAL:<br>";
 sort($numeros, SORT_NATURAL);
 foreach ($numeros as $num) {
   echo "$num<br>";
 }
 echo "<br>";
?>

Podemos ver a saída do script na figura a abaixo. Note a diferença na ordenação dos elementos do array:

A ordem natural nos retorna os valores em ordem numérica. Já a ordem como string retorna os valores em ordem alfanumérica, como por exemplo gerenciadores de arquivos mostram os nomes de arquivos.

Próximo: Introdução às Funções em PHP

 

 

Sair da versão mobile