Fusionar datos de filas de múltiples matrices
Tengo dos matrices como se muestra a continuación. Necesito fusionar el contenido de las matrices para poder obtener por fin la estructura como se muestra en la tercera matriz. Revisé array_merge pero no puedo entender cómo esto es posible. Cualquier ayuda se agradece. Gracias.
[
['gross_value' => '100', 'quantity' => '1'],
['gross_value' => '200', 'quantity' => '1']
]
y
[
['item_title_id' => '1', 'order_id' => '4'],
['item_title_id' => '2', 'order_id' => '4']
];
Debería obtener una matriz fusionada como esta:
[
[
'gross_value' => '100',
'quantity' => '1',
'item_title_id' => '1',
'order_id' => 4
],
[
'gross_value' => '200',
'quantity' => '1',
'item_title_id' => '2',
'order_id' => 4
]
]
Aceptado
Utilice array_merge_recursive :
Convierta todas las claves numéricas en cadenas (haga que sea una matriz asociativa)
$result = array_merge_recursive($ar1, $ar2);
print_r($result);
Vea una demostración en vivo aquí
qué tal si:
$arr1 = array(
0 => array(
'gross_value' => '100',
'quantity' => '1'
),
1 => array(
'gross_value' => '200',
'quantity' => '1'
)
);
$arr2 = array(
0 => array(
'item_title_id' => '1',
'order_id' => '4'
),
1 => array(
'item_title_id' => '2',
'order_id' => '4'
)
);
$arr = array();
foreach($arr1 as $k => $v) {
array_push($arr, array_merge($v, $arr2[$k]));
}
print_r($arr);
producción:
Array
(
[0] => Array
(
[gross_value] => 100
[quantity] => 1
[item_title_id] => 1
[order_id] => 4
)
[1] => Array
(
[gross_value] => 200
[quantity] => 1
[item_title_id] => 2
[order_id] => 4
)
)
Eche un vistazo a array_merge