"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo agrupar elementos de una matriz y combinar valores de otra columna en una matriz multidimensional?

¿Cómo agrupar elementos de una matriz y combinar valores de otra columna en una matriz multidimensional?

Publicado el 2024-11-06
Navegar:589

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

Agrupar elementos de una matriz por columna y combinar valores de otra columna

Dada una matriz que contiene matrices anidadas con dos columnas, la tarea es agrupar los subarreglos basados ​​en una columna específica y concatenar los valores de otra columna dentro de cada grupo, lo que da como resultado una lista separada por comas.

Considere la siguiente matriz de ejemplo:

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

El resultado deseado es:

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

Una solución a este problema implica los siguientes pasos:

  1. Repetir a través de la matriz dada y para cada elemento:

    • Verificar si el grupo (representado por el valor de la segunda columna) existe en la nueva matriz.
    • Si no, cree un nuevo grupo en la nueva matriz con ese grupo.
    • Agregue el valor de la primera columna ( el ID) al grupo correspondiente.
  2. Una vez que se hayan procesado todos los elementos, la nueva matriz contendrá grupos con listas de ID.
  3. Finalmente, reestructure la matriz para haga coincidir el formato requerido creando nuevos subarreglos para cada grupo con la primera columna concatenada y la segunda columna tal como está.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3