Объединение динамических массивов

Я сейчас борюсь с объединением этих двух массивов. Может кто-нибудь мне поможет, что использовать?

Array
(
  [1] => Array
    (
        [0] => 1-1
        [1] => 1-2
        [2] => 1-1
        [3] => 1-2
        [4] => 1-1
    )

  [3] => Array
    (
        [0] => 3-3
        [1] => 3-3
        [2] => 3-4
        [3] => 3-4
        [4] => 3-3
    )
)



Array[1] key [0] => 1-1 needs to combine with
Array[3] key [0] => 3-3
Array[1] key [1] => 1-2 needs to combine with
Array[3] key [1] => 3-3

Результат будет: 1-1,3-3 и 1-2,3-3.

Обратите внимание, что ключи из первого массива [1] и [3] могут быть динамическими.

Я сделал это:

print_r(array_merge_recursive($optionWithValue[1], $optionWithValue[3]));

Но теперь у меня жестко запрограммированы 1 и 3, которые могут измениться, и в итоге я получил:

Array
(
  [0] => 1-1
  [1] => 1-2
  [2] => 1-1
  [3] => 1-2
  [4] => 1-1
  [5] => 3-3
  [6] => 3-3
  [7] => 3-4
  [8] => 3-4
  [9] => 3-3
)

Так что это тоже не то, что мне нужно

Я не уверен, что понимаю, вы пытаетесь иметь только уникальные значения, а затем объединить 2? где твой код слияния?

MyLibary 28.12.2018 16:12
1-1,3-3, как в "1-1,3-3", или массив, содержащий и то, и другое? В любом случае, поделитесь своими попытками.
Jeto 28.12.2018 16:12

Я добавил пример в свой основной пост

poNgz0r 28.12.2018 16:18
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
30
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если ключи массивов в массиве совпадают, вы можете использовать array_reduce:

$arrays = [
    [
        "1-1",
        "1-2",
        "1-1",
        "1-2",
        "1-1",
    ],
    [
        "3-3",
        "3-3",
        "3-4",
        "3-4",
        "3-3",
    ],
];
$first = array_shift($arrays);
$res = array_reduce($arrays, function($carry, $item){
   foreach($item as $key => $value)  {
       $carry[$key] = $carry[$key] . "," . $value;
   }
   return $carry;
}, $first);

print_r($res);

Результат

Array
(
    [0] => 1-1,3-3
    [1] => 1-2,3-3
    [2] => 1-1,3-4
    [3] => 1-2,3-4
    [4] => 1-1,3-3
)

Демо PHP

Спасибо, это именно то, что мне нужно, сразу протестировал, работает: D

poNgz0r 28.12.2018 16:37

Другие вопросы по теме