Menu
Coddy logo textTech

Ordenar Arrays Associativos por Chave

Parte da seção Lógica & Fluxo do Journey de PHP da Coddy — lição 23 de 68.

Embora a ordenação por valores seja útil, às vezes você precisa organizar arrays associativos por suas chaves. O PHP fornece ksort() para ordem crescente de chaves e krsort() para ordem decrescente de chaves, ambos mantendo as relações cruciais entre chave e valor.

Veja como o ksort() organiza um array em ordem alfabética por suas chaves:

<?php
$settings = [
    "theme" => "dark",
    "language" => "english", 
    "notifications" => "enabled",
    "auto_save" => "on"
];

ksort($settings);
print_r($settings);
// Saída: Array ( [auto_save] => on [language] => english [notifications] => enabled [theme] => dark )
?>

Observe como as chaves agora estão em ordem alfabética de A a Z, enquanto cada nome de configuração permanece devidamente emparelhado com seu valor. Isso é particularmente útil quando você deseja exibir opções de configuração ou itens de menu de maneira previsível e organizada.

Para ordem alfabética reversa, krsort() funciona de forma semelhante, mas ordena as chaves de Z a A. Ambas as funções modificam o array original diretamente, assim como outras funções de ordenação do PHP, tornando-as eficientes para organizar dados onde a ordem das chaves importa mais do que a ordem dos valores.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

challenge icon

Desafio

Fácil

Você receberá uma entrada: um array associativo de nomes de departamentos e suas alocações orçamentárias no formato JSON. Leia a entrada, converta a string JSON em um array, use ksort() para ordenar os departamentos em ordem alfabética crescente por suas chaves e imprima o array ordenado usando print_r().

Formato de entrada: Uma linha contendo um objeto JSON com nomes de departamentos como chaves e valores de orçamento como valores (exemplo: {"Marketing":75000,"IT":120000,"HR":65000,"Finance":95000})

Saída esperada: O array associativo ordenado em ordem alfabética crescente pelos nomes dos departamentos (chaves), exibido usando print_r()

Folha de consulta

O PHP fornece as funções ksort() e krsort() para ordenar arrays associativos por suas chaves, mantendo as relações chave-valor.

ksort() ordena as chaves em ordem alfabética crescente (A a Z):

ksort($array);

krsort() ordena as chaves em ordem alfabética decrescente (Z a A):

krsort($array);

Ambas as funções modificam o array original diretamente:

<?php
$settings = [
    "theme" => "dark",
    "language" => "english", 
    "notifications" => "enabled",
    "auto_save" => "on"
];

ksort($settings);
print_r($settings);
// Saída: Array ( [auto_save] => on [language] => english [notifications] => enabled [theme] => dark )
?>

Experimente você mesmo

<?php
// Ler a entrada
$input = fgets(STDIN);

// Converter JSON para array
$departments = (array)json_decode($input, true);

// TODO: Escreva seu código abaixo para ordenar o array pelas chaves


// Exibir o resultado
print_r($departments);
?>
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica & Fluxo