Для объединения значений из двух массивов в один, нужно использовать функцию array_merge(). Однако, в данном случае нам нужно объединить элементы с одинаковым order_id, поэтому нам также потребуется использовать цикл или функцию array_combine().
Ниже приведен пример кода на языке PHP, который объединяет значения из двух массивов с одинаковым order_id в один новый массив с полем products:
```php
// Исходные массивы
$array1 = [
['order_id' => 1, 'product_id' => 101, 'quantity' => 2, 'sku' => 'SKU001'],
['order_id' => 2, 'product_id' => 102, 'quantity' => 1, 'sku' => 'SKU002'],
];
$array2 = [
['order_id' => 1, 'product_id' => 201, 'quantity' => 3, 'sku' => 'SKU003'],
['order_id' => 2, 'product_id' => 202, 'quantity' => 2, 'sku' => 'SKU004'],
];
// Создаем новый массив
$newArray = [];
// Объединяем значения с одинаковыми order_id
foreach ($array1 as $item1) {
foreach ($array2 as $item2) {
if ($item1['order_id'] === $item2['order_id']) {
$newArray[] = [
'order_id' => $item1['order_id'],
'products' => [
[
'product_id' => $item1['product_id'],
'quantity' => $item1['quantity'],
'sku' => $item1['sku'],
],
[
'product_id' => $item2['product_id'],
'quantity' => $item2['quantity'],
'sku' => $item2['sku'],
],
],
];
}
}
}
// Выводим результат
print_r($newArray);
```
Результат выполнения кода:
```
Array
(
[0] => Array
(
[order_id] => 1
[products] => Array
(
[0] => Array
(
[product_id] => 101
[quantity] => 2
[sku] => SKU001
)
[1] => Array
(
[product_id] => 201
[quantity] => 3
[sku] => SKU003
)
)
)
[1] => Array
(
[order_id] => 2
[products] => Array
(
[0] => Array
(
[product_id] => 102
[quantity] => 1
[sku] => SKU002
)
[1] => Array
(
[product_id] => 202
[quantity] => 2
[sku] => SKU004
)
)
)
)
```
В результирующем массиве $newArray каждый элемент содержит order_id и products, где products - это массив товаров с соответствующими значениями product_id, quantity и sku из исходных массивов $array1 и $array2.