Fusionar datos de filas de múltiples matrices

Resuelto Abhishek asked hace 54 años • 6 respuestas

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
    ]
]
Abhishek avatar Jan 01 '70 08:01 Abhishek
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í

Roopendra avatar May 14 '2013 11:05 Roopendra

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

Toto avatar May 14 '2013 11:05 Toto