如何 "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'];
}
}
}
我正在查询 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'];
}
}
}