Harun Anwar
Harun Anwar

Reputation: 113

unable to merge array in key value format

I am trying to merge array in key-value format but unfortunately, I couldn't get the result what I need. by the print following array, I get the following result.

 $material = array_merge($dataArrMaterial,$dataTotalMaterialQty);
_print($material);

Array(
[0] => Array
    (
        [material_name] => 1041
        [material_qty] => 30
    )

[1] => Array
    (
        [material_name] => 1046
        [material_qty] => 10
    )


[3] => Array
    (
        [material_qty_req] => 90
    )

[4] => Array
    (
        [material_qty_req] => 30
    )
)

but i want the result like this

Array(
[0] => Array
    (
        [material_name] => 1041
        [material_qty] => 30
        [material_qty_req] => 90

    )

[1] => Array
    (
        [material_name] => 1046
        [material_qty] => 10
        [material_qty_req] => 30
    )

Thanks in advance

Upvotes: 0

Views: 45

Answers (2)

Bhavin Solanki
Bhavin Solanki

Reputation: 1364

You have to loop the first array and then use array_merge to merge multidimensional array.

$result= [];
foreach($dataArrMaterial as $key => $value){
    $result[$key] = array_merge($dataArrMaterial[$key], $dataTotalMaterialQty[$key]);
}
print_r($result);

Upvotes: 0

Exterminator
Exterminator

Reputation: 1246

you can use foreach() method of php.

foreach($dataArrMaterial as $key=> $value){
    $data[] = array(
        'material_name'=> $value['material_name'],
        'material_qty'=> $value['material_qty'],
        'material_qty_req'=> $dataTotalMaterialQty[$key]['material_qty_req'],

    );
}

Upvotes: 1

Related Questions