无法以键值格式合并数组

问题描述 投票:0回答:2

我试图以键值格式合并数组但不幸的是,我无法得到我需要的结果。通过以下打印数组,我得到以下结果。

 $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
    )
)

但我想要这样的结果

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
    )

提前致谢

php arrays array-merge
2个回答
0
投票

您必须循环第一个数组,然后使用array_merge合并多维数组。

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

1
投票

你可以使用php的foreach()方法。

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'],

    );
}
© www.soinside.com 2019 - 2024. All rights reserved.