@Zzpro

Как слить два массива?

Есть один массив $item
Array
(
    [0] => Array
        (
            [name] => Название 1
            [price] => 140
        )
    [1] => Array
        (
            [name] => Название 2
            [price] => 140
        )

)

Есть второй массив $quantity
Array
(
    [0] => 2
    [1] => 10
)


Требуется слить что бы получилось
Array
(
    [0] => Array
        (
            [name] => Название 1
            [price] => 140
            [quantity] => 2
        )
    [1] => Array
        (
            [name] => Название 2
            [price] => 140
            [quantity] => 10
        )

)


Вроде это решается через array_merge но не понимаю как
  • Вопрос задан
  • 78 просмотров
Решения вопроса 2
@Stalinko
PHP'шник и фрилансер до мозга костей
Исходные массивы:
$a = [
    [
        'name' => 'Название 1',
        'price' => 140,
    ],
    [
        'name' => 'Название 2',
        'price' => 140,
    ]
];

$b = [2, 10];


PHP 7.4+
$result = array_map(fn($item, $qty) => $item + ['quantity' => $qty], $a, $b);


PHP <=7.3
$result = array_map(function ($item, $qty) {
    return $item + ['quantity' => $qty];
}, $a, $b);
Ответ написан
Комментировать
0xD34F
@0xD34F
$arr3 = array_map(fn($n, $m) => array_merge($n, [ 'quantity' => $m ]), $arr1, $arr2);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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