代码之家  ›  专栏  ›  技术社区  ›  Harun Anwar

无法以键值格式合并数组

  •  0
  • Harun Anwar  · 技术社区  · 6 年前

    我正在尝试以键值格式合并数组,但不幸的是,我无法得到所需的结果。通过print following数组,得到如下结果。

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

    2 回复  |  直到 6 年前
        1
  •  0
  •   Bhavin Solanki    6 年前

    array_merge 合并多维数组。

    $result= [];
    foreach($dataArrMaterial as $key => $value){
        $result[$key] = array_merge($dataArrMaterial[$key], $dataTotalMaterialQty[$key]);
    }
    print_r($result);
    
        2
  •  1
  •   Exterminator    6 年前

    你可以用 foreach() 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'],
    
        );
    }