"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como classificar matrizes multidimensionais personalizadas com base em uma chave específica em PHP?

Como classificar matrizes multidimensionais personalizadas com base em uma chave específica em PHP?

Publicado em 2024-11-08
Navegar:599

How to Custom Sort Multidimensional Arrays Based on a Specific Key in PHP?

Classificação personalizada de matrizes multidimensionais

Classificação de matrizes multidimensionais pode ser uma tarefa comum na programação. Este artigo demonstra como classificar tal array com base em uma chave específica usando a função usort() do PHP.

Compreendendo a tarefa

Considere o seguinte array multidimensional onde cada elemento representa um registro:

Array (
    [0] => Array
        (
            [iid] => 1
            [invitee] => 174
            [nid] => 324343
            [showtime] => 2010-05-09 15:15:00
            [location] => 13
            [status] => 1
            [created] => 2010-05-09 15:05:00
            [updated] => 2010-05-09 16:24:00
        )

    [1] => Array
        (
            [iid] => 1
            [invitee] => 220
            [nid] => 21232
            [showtime] => 2010-05-09 15:15:00
            [location] => 12
            [status] => 0
            [created] => 2010-05-10 18:11:00
            [updated] => 2010-05-10 18:11:00
        ))

Classificando por uma chave

Para classificar esse array pela chave de "status", precisamos definir uma função de comparação que determine a ordem dos elementos.

function cmp($a, $b) {
    if ($a['status'] == $b['status']) {
        return 0;
    }
    return ($a['status'] 

Esta função compara os valores de "status" de dois elementos. Se os valores forem iguais, retorna 0. Se o primeiro elemento tiver um valor de "status" inferior ao segundo, retorna -1. Caso contrário, ele retorna 1.

Usando usort()

Agora podemos usar a função usort() para classificar o array usando nossa função de comparação:

usort($array, "cmp");

Isso classificará o array em ordem crescente com base na chave "status". O array modificado terá seus elementos reorganizados de acordo.

Personalizando a comparação

A função de comparação pode ser personalizada para classificar o array com base em qualquer chave. Simplesmente modifique a função para comparar os valores-chave desejados. Isso fornece flexibilidade na classificação de matrizes multidimensionais com base em diferentes critérios.

Declaração de lançamento Este artigo foi reimpresso em: 1729422140 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3