"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 agrupar elementos de array e combinar valores de outra coluna em um array multidimensional?

Como agrupar elementos de array e combinar valores de outra coluna em um array multidimensional?

Publicado em 2024-11-06
Navegar:666

How to Group Array Elements and Combine Values from Another Column in a Multidimensional Array?

Agrupar elementos do array por coluna e combinar valores de outra coluna

Dado um array contendo arrays aninhados com duas colunas, a tarefa é agrupar os subarrays com base em uma coluna específica e concatenar os valores de outra coluna dentro de cada grupo, resultando em uma lista separada por vírgulas.

Considere o seguinte exemplo de array:

$array = [
    ["444", "0081"],
    ["449", "0081"],
    ["451", "0081"],
    ["455", "2100"],
    ["469", "2100"]
];

O resultado desejado é:

[
  ["444,449,451", "0081"],
  ["455,469", "2100"]
]

Uma solução para esse problema envolve as seguintes etapas:

  1. Iterar através da matriz fornecida e para cada item:

    • Verificar se o grupo (representado pelo valor da segunda coluna) existir na nova matriz.
    • Caso contrário, crie um novo grupo na nova matriz com esse grupo.
    • Adicione o valor da primeira coluna ( o ID) para o grupo correspondente.
  2. Depois que todos os itens forem processados, o novo array conterá grupos com listas de IDs.
  3. Finalmente, reestruture o array para corresponda ao formato necessário criando novas submatrizes para cada grupo com a primeira coluna concatenada e a segunda coluna como está.
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