English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico PHP

Tutorial Avançado PHP

PHP & MySQL

Manual de Referência PHP

Ordenação de Arrays PHP

Neste tutorial, você aprenderá como ordenar elementos ou chaves de arrays em ordem crescente ou decrescente no PHP.

Funções de ordenação do 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

Ordenar o array de índices em ordem crescente

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 )

Ordenar o array de índices em ordem decrescente

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 )

Ordenar o array associativo em ordem ascendente pelo valor

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 )

Ordenar o array associativo em ordem descendente pelo valor

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 )

Ordenar o array associativo em ordem ascendente pelas chaves

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 )

Ordenar o array associativo em ordem descendente pelas chaves

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 )