Задать вопрос
@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 но не понимаю как
  • Вопрос задан
  • 79 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Skillbox
    PHP-разработчик. Базовый уровень
    3 месяца
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Stepik
    PHP (pro)
    2 недели
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Onskills
    PHP: базовый курс
    1 месяц
    Далее
Решения вопроса 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);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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