«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как сгруппировать элементы массива и объединить значения из другого столбца в многомерном массиве?

Как сгруппировать элементы массива и объединить значения из другого столбца в многомерном массиве?

Опубликовано 6 ноября 2024 г.
Просматривать:411

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

Группировка элементов массива по столбцу и объединение значений из другого столбца

Данный массив содержит вложенные массивы с двумя столбцами, задача состоит в группировке подмассивы основаны на определенном столбце и объединяют значения из другого столбца в каждой группе, в результате чего получается список, разделенный запятыми.

Рассмотрим следующий пример массива:

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

Желаемый результат:

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

Одно из решений этой проблемы включает в себя следующие шаги:

  1. Пройти по заданному массиву и для каждого элемента:

    • Проверить если группа (представленная значением второго столбца) существует в новом массиве.
    • Если нет, создайте новую группу в новом массиве с этой группой.
    • Добавьте первое значение столбца ( идентификатор) в соответствующую группу.
  2. После того, как все элементы будут обработаны, новый массив будет содержать группы со списками идентификаторов.
  3. Наконец, реструктурируйте массив так, чтобы сопоставьте требуемый формат, создав новые подмассивы для каждой группы с объединенным первым столбцом и вторым столбцом без изменений.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3