Как «объединить» массивы

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

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]