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 Programação Pular para comentários
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...

Compartilhe com seus amigos:
Jonathan Lamim
Jonathan Lamim Empreendedor digital, ex-programador (decidi abandonar a carreira após 12 anos), especialista em marketing de conteúdo e agora atuando exclusivamente com Marketing Digital, em projetos de Marketing de Conteúdo, produção de conteúdo para internet, além de escrever ebooks e criar cursos ligados ao marketing digital de um modo geral.
FACEBOOK // TWITTER: @jonathanlamimkt
Quer conversar com o(a) Jonathan, comente:
Carregar comentários
Quantos celulares a Motorola tem em linha?
5(15,27%)
10(57,18%)
15(11,62%)
20(7,88%)
26(8,05%)