English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste tutorial, você aprenderá como ordenar elementos ou chaves de arrays em ordem crescente ou decrescente no PHP.
No capítulo anterior, você já aprendeu os fundamentos dos arrays no PHP, ou seja, o que é um array, como criá-los, como ver sua estrutura, como acessar seus elementos, etc. Você pode fazer mais com arrays, como ordenar seus elementos de acordo com a ordem desejada.
O PHP inclui muitas funções integradas, especialmente projetadas para ordenar elementos de arrays de várias maneiras, como em ordem alfabética ou numérica, em ordem crescente ou decrescente. Aqui, vamos explorar algumas das funções mais usadas para ordenar arrays.
sort() e rsort() - ordenar arrays de índices
asort() e arsort() - usados para ordenar arrays associativos pelo valor
ksort() e krsort() - usados para ordenar arrays associativos pelo chave
A função sort() é usada para ordenar os elementos do array de índices em ordem crescente (alfabética para letras, numérica para números).
<?php //Definir array $colors = array("Red", "Green", "Blue", "Yellow"); //Ordenar e imprimir o array sort($colors); print_r($colors); ?>Teste e veja‹/›
A sentença print_r() fornece a seguinte saída:
Array ( [0] => Blue [1] => Green [2] => Red [3] => Yellow )
Da mesma forma, você pode ordenar os elementos numéricos do array em ordem crescente.
<?php //Definir array $numbers = array(1, 2, 2.5, 4, 7, 10); //Ordenar e imprimir o array sort($numbers); print_r($numbers); ?>Teste e veja‹/›
A sentença print_r() fornece a seguinte saída:
Array ( [0] => 1 [1] => 2 [2] => 2.5 [3] => 4 [4] => 7 [5] => 10 )
A função rsort() é usada para ordenar os elementos do array de índices em ordem decrescente (alfabética para letras, numérica para números).
<?php //Definir array $colors = array("Red", "Green", "Blue", "Yellow"); // Ordenar e imprimir o array rsort($colors); print_r($colors); ?>Teste e veja‹/›
A sentença print_r() fornece a seguinte saída:
Array ( [0] => Yellow [1] => Red [2] => Green [3] => Blue )
Da mesma forma, você pode ordenar os elementos numéricos do array em ordem descendente.
<?php //Definir array $numbers = array(1, 2, 2.5, 4, 7, 10); //Ordenar e imprimir o array rsort($numbers); print_r($numbers); ?>Teste e veja‹/›
A sentença print_r() fornece a seguinte saída:
Array ( [0] => 10 [1] => 7 [2] => 4 [3] => 2.5 [4] => 2 [5] => 1 )
A função asort() ordena os elementos de um array associativo em ordem ascendente pelo valor. Trabalha de maneira semelhante à função sort(), mas mantém a associação entre chave e valor durante a ordenação.
<?php //Definir array $age = array("Peter"=>20, "Harry"=>14, "John"=>45, "Clark"=>35); //Ordenar o array pelo valor e imprimir asort($age); print_r($age); ?>Teste e veja‹/›
A sentença print_r() fornece a seguinte saída:
Array ( [Harry] => 14 [Peter] => 20 [Clark] => 35 [John] => 45 )
A função arsort() ordena os elementos de um array associativo em ordem descendente pelo valor. Trabalha de maneira semelhante à função rsort(), mas mantém a associação entre chave e valor durante a ordenação.
<?php //Definir array $age = array("Peter"=>20, "Harry"=>14, "John"=>45, "Clark"=>35); //Ordenar o array pelo valor e imprimir arsort($age); print_r($age); ?>Teste e veja‹/›
A sentença print_r() fornece a seguinte saída:
Array ( [John] => 45 [Clark] => 35 [Peter] => 20 [Harry] => 14 )
A função ksort() ordena os elementos de um array associativo em ordem ascendente pelas chaves. Semelhante à função asort(), ela mantém a associação entre chave e valor durante a ordenação.
<?php //Definir array $age = array("Peter"=>20, "Harry"=>14, "John"=>45, "Clark"=>35); //Ordenar o array pelo teclado e imprimir ksort($age); print_r($age); ?>Teste e veja‹/›
A sentença print_r() fornece a seguinte saída:
Array ( [Clark] => 35 [Harry] => 14 [John] => 45 [Peter] => 20 )
A função ksort() ordena os elementos de um array associativo em ordem ascendente pelas chaves. Semelhante à função asort(), ela mantém a associação entre chave e valor durante a ordenação.
<?php //Definir array $age = array("Peter"=>20, "Harry"=>14, "John"=>45, "Clark"=>35); //Ordenar o array pelo teclado e imprimir krsort($age); print_r($age); ?>Teste e veja‹/›
A sentença print_r() fornece a seguinte saída:
Array ( [Peter] => 20 [John] => 45 [Harry] => 14 [Clark] => 35 )