如何 "combine" 数组

How to "combine" arrays

我正在查询 DB2 平面文件和常规 table 以获取信息。最新数据将来自非平面文件。我将两个结果放入两个单独的数组中。理想情况下,我认为加入 table 是最好的,但我试过了,但我不知道你是否可以将平面文件加入非平面文件 table。这是数组 1。

Array
(
    [0] => Array
        (
            [pEmpNum] => 450
            [trCode] => 1
            [pRate] => 40.00
            [pWeeksWorked] => 2.00
            [pAppr] => J014 1       
        )

)

这是第二个的一部分

1Array
(
[12] => Array
        (
            [empNum] => 160    
            [location] => 2         
            [payGroup] => 3
            [weeksWorked] => 02
            [defaultPay] => Y
            [unitRate] => 75.00
            [rate] => 18.67
            [appFlag] =>  
            [app1] => J014 1       
            [app2] => 
            [app3] => 
            [app4] => 
            [app5] => 
            [unit1] => .00
            [unit2] => .00
            [unit3] => .00
            [unit4] => .00
            [unit5] => .00
            [gross] => 1400.25
        )

    [13] => Array
        (
            [empNum] => 450        
            [location] => 2
            [payGroup] => 3
            [weeksWorked] => 00
            [defaultPay] =>  
            [unitRate] => 0.00
            [rate] => 24.63
            [appFlag] =>  
            [app1] => J014 1       
            [app2] => 
            [app3] => 
            [app4] => 
            [app5] => 
            [unit1] => .00
            [unit2] => .00
            [unit3] => .00
            [unit4] => .00
            [unit5] => .00
            [gross] => 0.00
        )

)

我想做的是,如果 empnum 存在于第一个数组中,我想替换 array1 中的所有信息并将其放入 array2 以获得相同的 empnum。所以在这个例子中,因为 empnum 450 存在于两个数组中,我想用 pRate 替换 unitRate,用 pWeeksWorked 替换 weeksWorked,用 pAppr 替换 app1。关于如何做到这一点的任何帮助或更好的建议都会很棒。

这是我的建议。 $array1 是第一个数组,$array2 第二个。你循环遍历它们,如果 empnum 匹配你交换相关值。这是一个 'pure' PHP 解决方案。

foreach($array1 as $key1 => $data1)
{
  foreach($array2 as $key2 => $data2)
  {
    if ($data1['pEmpNum'] == $data2['empNum'])
    {
      $data2['unitRate'] = $data1['pRate'];
      $data2['weeksWorked'] = $data1['pWeeksWorked'];
      $data2['app1'] = $data1['pAppr'];
    }
  }
}