Biblioteca de Funções - Parte 5

Olá amigos! Estou de volta com a 5ª parte da Biblioteca de Funções, nesse artigo continuaremos a falar sobre as funções utilizadas no tratamento de arrays.

Por | @jonathanlamimkt Programação
Funções utilizadas no tratamento de arrays

Funções de ordenação

Essas funções servem para organizar os elementos do array de acordo com determinados critérios, tais como: manutenção ou não da associação ente índices e elementos; ordenação por elementos ou por índices; comparação entre dois elementos.

Sort

void sort(array &arr);

Coloca em ordem crescente os elementos de um array. Não mantém os relacionamentos com os índices.

Exemplo 1:


$frutas = array("limao", "laranja", "banana", "melancia");
sort($frutas);
reset($frutas);
while (list($chave, $valor) = each($frutas)) {
echo "frutas['.$chave.'] = ".$valor."
";
}
?>


A saída desse programa seria:

fruits[0] = banana
fruits[1] = laranja
fruits[2] = limao
fruits[3] = melancia

Rsort

void rsort(array &arr);

Coloca em ordem decrescente os elementos de um array. Não mantém os relacionamentos com os índices.

Exemplo 1:


$frutas = array ("limao", "laranja", "banana", "maçã");
rsort ($frutas);
reset ($frutas);
while (list ($chave, $valor) = each ($frutas)) {
echo "$chave = $valor
";
}
?>


Esse exemplo mostraria:

0 = melancia
1 = limao
2 = laranja
3 = banana

As frutas foram ordenadas em ordem alfabética decrescente.

Asort

void asort(array &arr);

Seu funcionamento assemelha-se à função sort. Coloca os elementos do array em ordem crescente, mantendo o relacionamento com os índices.

Exemplo 1:


$frutas = array("d" => "limao", "a" => "laranja", "b" => "banana", "c" => "melancia");
asort($frutas);
reset($frutas);
while (list($chave, $valor) = each($frutas)) {
echo "$chave = $valor
";
}
?>


A saída desse programa seria:

b = banana
a = laranja
d = limao
c = melancia

As frutas foram ordenadas na ordem alfabética, e os índices associados a cada valor foram mantidos.

Arsort

void arsort(array &arr);

É o inverso da função asort, colocando os elementos do array em ordem decrescente e mantendo o relacionamento com os índices.

Exemplo 1:


$frutas = array("d" => "limao", "a" => "laranja", "b" => "banana", "c" => "melancia");
arsort($frutas);
reset($frutas);
while (list($chave, $valor) = each($frutas)) {
echo "$chave = $valor
";
}
?>


A saída deste exemplo seria:

c = melancia
d = limao
a = laranja
b = banana

As frutas foram ordenadas na ordem alfabética inversa, e os índices associados a cada valor foram mantidos.

Ksort

void ksort(array &arr);

Essa função de ordenação baseia-se nos índices, ordenando os elementos de um array de acordo com eles, em ordem crescente, mantendo os relacionamentos.

Exemplo 1:


$frutas = array("d"=>"limao", "a"=>"laranja", "b" =>"banana", "c"=>"maçã");
ksort($frutas);
reset($frutas);
while (list($chave, $valor) = each($frutas)) {
echo "$chave = $valor
";
}
?>


O programa acima mostraria:

a = laranja
b = banana
c = maçã
d = limao

Usort

void usort(array &arr, function compara);

Essa função ordena os elementos de um array sem manter os relacionamentos com os índices, além disso usa uma função para efeito de comparação – definida pelo usuário – como parâmetro. Essa função definida pelo usuário deve fazer a comparação ente 2 elementos do array e retornar os valores 0, 1 ou -1, de acordo com o critério estabelecido pelo usuário.

Exemplo 1:


function cmp($a, $b) { 
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
$a = array(3, 2, 5, 6, 1);
usort($a, "cmp");
while (list($chave, $valor) = each($a)) {
echo "$chave: $valor
";
}
?>


Esse exemplo mostraria:

0: 1
1: 2
2: 3
3: 5
4: 6

Uasort

void uasort(array &arr, function compara);

Essa função ordena os elementos de um array mantendo os relacionamentos com os índices, além disso usa uma função para efeito de comparação – definida pelo usuário – como parâmetro. Essa função definida pelo usuário deve fazer a comparação ente 2 elementos do array e retornar os valores 0, 1 ou -1, de acordo com o critério estabelecido pelo usuário.

Uksort

void uksort(array &arr, function compara);

Esta função ordena o array através dos índices, mantendo os relacionamentos com os elementos, e utiliza para efeito de comparação uma função definida pelo usuário, que deve comparar dois índices do array e retornar 0, 1 ou –1, de acordo com qualquer critério estabelecido pelo usuário.

Exemplo 1:


function cmp($a, $b) { 
if ($a == $b) {
return 0;
}
return ($a > $b) ? -1 : 1;
}
$a = array(4 => "quatro", 3 => "tres", 20 => "vinte", 10 => "dez");
uksort($a, "cmp");
while (list($chave, $valor) = each($a)) {
echo "$chave: $valor
";
}
?>


Esse exemplo mostraria:

20: vinte
10: dez
4: quatro
3: tres

Chegamos ao final de mais um artigo, espero que estejam sendo úteis, pois ainda tem muita função pra ser apresentada.

Até a próxima...

Mais sobre:
Share Tweet
Recomendado
Comentários
Carregar comentários
Destaquesver tudo