2015-05-08 5 views
0

Я запрашиваю плоский файл DB2 и обычную таблицу для получения информации. Самые последние данные будут поступать из не плоского файла. Я помещаю оба результата в два отдельных массива. В идеале я думаю, что вступление в таблицы было бы лучше, но я попытался, и я не знаю, можете ли вы присоединиться к плоскому файлу к таблице без плоских файлов. Вот массив 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 и поместить его в массив2 для одного и того же empnum. Итак, в этом примере, поскольку empnum 450 существует в обоих массивах, я хочу заменить unitRate на pRate, weeksWorked с pWeeksWorked и app1 с pAppr. Любая помощь или лучшие предложения о том, как это было бы здорово.

+0

Насколько велики массивы? –

+0

Они будут меняться – moe

+0

Это поможет, если ваш вопрос включил платформу и версию DB2 – Charles

ответ

0

Вот мое предложение. $array1 - это первый массив и $array2 второй. Вы проезжаете через них, и если empnum соответствует вашим значениям подкачки. Это «чистое» решение 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']; 
    } 
    } 
} 
+0

Это сработало отлично! – moe

Смежные вопросы