Задать вопрос
@aviseen

Как преобразовать несколько массивов php в один?

Добрый день!

Имеются массивы вида:

Array
(
    [0] => 2
    [1] => скрипт холодного звонка по продаже услуг
)
Array
(
    [0] => 2
    [1] => продажи в переписке
)
Array
(
    [0] => 2
    [1] => автоматизация отдела продаж
)
Array
(
    [0] => 2
    [1] => заказать скрипт продаж
)
Array
(
    [0] => 3
    [1] => доставка еды из ресторана
)
Array
(
    [0] => 3
    [1] => еда из ресторана на дом
)
Array
(
    [0] => 3
    [1] => доставка еды из ресторана на дом
)
Array
(
    [0] => 4
    [1] => доставка товаров из китая в россию
)
Array
(
    [0] => 4
    [1] => купить в китае с доставкой в россию
)
Array
(
    [0] => 4
    [1] => доставка запчастей из китая в россию
)
....


Как из перечисленного кол-ва массивов получить 1 массив вида:

Array(
    [2] => скрипт холодного звонка по продаже услуг, продажи в переписке,автоматизация отдела продаж,заказать скрипт продаж
    [3] => доставка еды из ресторана,еда из ресторана на дом,доставка еды из ресторана на дом
    [4] => доставка товаров из китая в россию,купить в китае с доставкой в россию,доставка запчастей из китая в россию
)
  • Вопрос задан
  • 214 просмотров
Подписаться 1 Простой 7 комментариев
Решения вопроса 1
delphinpro
@delphinpro Куратор тега PHP
frontend developer
$input = [
  [2, 'скрипт холодного звонка по продаже услуг'],
  [2, 'продажи в переписке'],
  [2, 'автоматизация отдела продаж'],
  [2, 'заказать скрипт продаж'],
  [3, 'доставка еды из ресторана'],
  [3, 'еда из ресторана на дом'],
  [3, 'доставка еды из ресторана на дом'],
  [4, 'доставка товаров из китая в россию'],
  [4, 'купить в китае с доставкой в россию'],
  [4, 'доставка запчастей из китая в россию'],
];

$output = [];

foreach($input as $item) {
  if (!array_key_exists($item[0], $output)) {
    $output[$item[0]] = [];
  }
  $output[$item[0]][] = $item[1];
}

$output = array_map(fn($item) => join(', ', $item), $output);

var_dump($output);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы