vurdolak
@vurdolak
Фрилансер

Как объединить значения массивов?

Есть четыре массива ($one $two $three $four) с одинаковыми ключами. Нужно объединить их в один массив с тем же количеством ключей. Пример:

array1(
        '0' => 2135,
        '1' => 'John',
        '2' => 'Doe',
    ),
    array2(
        '0' => 3245,
        '1' => 'Sally',
        '2' => 'Smith',
    ),
    array3(
        '0' => 5342,
        '1' => 'Jane',
        '2' => 'Jones',
    ),
    array4(
        '0' => 5623,
        '1' => 'Peter',
        '2' => 'Doe',
    )

И надо, чтобы получилось так:

array(
0 =>2135,3245,5342,5623
1=>John,Sally,Jane.Peter
и т.д.
)

array_merge только увеличивает массив из 21 значного в 84.
  • Вопрос задан
  • 131 просмотр
Пригласить эксперта
Ответы на вопрос 3
0xD34F
@0xD34F
$arr = array_map(fn(...$a) => implode(', ', $a), $arr1, $arr2, $arr3, $arr4);
Ответ написан
Комментировать
@kostya_vtomske
Форичем облететь массивы и по ключу значения собрать в кучку.
Ответ написан
Комментировать
vurdolak
@vurdolak Автор вопроса
Фрилансер
Сделал с помощью array_map.
$a5 = array_map(function($a, $b) { return $a . ',' . $b; }, $a1, $a2);
$a6 = array_map(function($a, $b) { return $a . ',' . $b; }, $a3, $a4);
$a7 = array_map(function($a, $b) { return $a . ',' . $b; }, $a6, $a7);

Если имеется более элегантное решение, то прошу рассказать))
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы