Php 基于键合并单个数组
我有以下两个数组动态增长 第一阵列Php 基于键合并单个数组,php,Php,我有以下两个数组动态增长 第一阵列 Array ( [Development Fund] => Array ( [0] => Array ( [LedgerID] => 573befb96e3dceb6468b4567 [LedgerName] => Development Fund
Array
(
[Development Fund] => Array
(
[0] => Array
(
[LedgerID] => 573befb96e3dceb6468b4567
[LedgerName] => Development Fund
[PanITNO] => UK07AK1787
[dateOfPayment] => 01-Dec-2015
[totalAmountPaid] => 49000
[tdsRate] => 2
[totalDudections] => 980
)
[1] => Array
(
[LedgerID] => 573befb96e3dceb6468b4567
[LedgerName] => Development Fund
[PanITNO] => UK07AK1787
[dateOfPayment] => 01-Mar-2016
[totalAmountPaid] => 4000
[tdsRate] => 2
[totalDudections] => 80
)
[2] => Array
(
[LedgerID] => 573befb96e3dceb6468b4567
[LedgerName] => Development Fund
[PanITNO] => UK07AK1787
[dateOfPayment] => 23-Mar-2016
[totalAmountPaid] => 19000
[tdsRate] => 2
[totalDudections] => 380
)
)
[Registration Fee] => Array
(
[0] => Array
(
[LedgerID] => 5739b50b6e3dce450e8b4567
[LedgerName] => Registration Fee
[PanITNO] => ITR00123
[dateOfPayment] => 02-Jan-2016
[totalAmountPaid] => 1000
[tdsRate] => 10
[totalDudections] => 100
)
)
[Purchase1] => Array
(
[0] => Array
(
[LedgerID] => 573c321e6e3dcec3228b4567
[LedgerName] => Purchase1
[PanITNO] => ITR00123
[dateOfPayment] => 02-Jan-2016
[totalAmountPaid] => 8000
[tdsRate] => 2
[totalDudections] => 160
)
)
)
第二阵列
Array
(
[Development Fund] => Array
(
[0] => Array
(
[Amountdeposited] => 1000
[dateOfDeposited] => 01-Jan-2016
[challaNumber] => 2
)
[1] => Array
(
[Amountdeposited] => 50000000
[dateOfDeposited] => 03-Mar-2016
[challaNumber] => 5555
)
[2] => Array
(
[Amountdeposited] => 90000
[dateOfDeposited] => 24-Mar-2016
[challaNumber] => 999
)
)
我需要输出如下,在关键的基础上
最终阵列
Array
(
[Development Fund] => Array
(
[0] => Array
(
[LedgerID] => 573befb96e3dceb6468b4567
[LedgerName] => Development Fund
[PanITNO] => UK07AK1787
[dateOfPayment] => 01-Dec-2015
[totalAmountPaid] => 49000
[tdsRate] => 2
[totalDudections] => 980
[Amountdeposited] => 1000
[dateOfDeposited] => 01-Jan-2016
[challaNumber] => 2
)
[1] => Array
(
[LedgerID] => 573befb96e3dceb6468b4567
[LedgerName] => Development Fund
[PanITNO] => UK07AK1787
[dateOfPayment] => 01-Mar-2016
[totalAmountPaid] => 4000
[tdsRate] => 2
[totalDudections] => 80
[dateOfDeposited] => 03-Mar-2016
[challaNumber] => 5555
)
[2] => Array
(
[LedgerID] => 573befb96e3dceb6468b4567
[LedgerName] => Development Fund
[PanITNO] => UK07AK1787
[dateOfPayment] => 23-Mar-2016
[totalAmountPaid] => 19000
[tdsRate] => 2
[totalDudections] => 380
[Amountdeposited] => 90000
[dateOfDeposited] => 24-Mar-2016
[challaNumber] => 999
)
)
[Registration Fee] => Array
(
[0] => Array
(
[LedgerID] => 5739b50b6e3dce450e8b4567
[LedgerName] => Registration Fee
[PanITNO] => ITR00123
[dateOfPayment] => 02-Jan-2016
[totalAmountPaid] => 1000
[tdsRate] => 10
[totalDudections] => 100
)
)
[Purchase1] => Array
(
[0] => Array
(
[LedgerID] => 573c321e6e3dcec3228b4567
[LedgerName] => Purchase1
[PanITNO] => ITR00123
[dateOfPayment] => 02-Jan-2016
[totalAmountPaid] => 8000
[tdsRate] => 2
[totalDudections] => 160
)
)
)
请建议是否可以使用任何PHP内置函数执行此操作。尝试此代码。要连接阵列,$arr1+$arr2将起作用。但这对你的情况不起作用。数组\合并、递归合并和合并在您的案例中它们都不起作用。所以尝试使用for循环来合并它们
foreach ($arr1 as $key1 => $value1) {
if($key1 == 'Development Fund') {
foreach($arr2['Development Fund'] as $key2 => $value2){
array_push($arr1['Development Fund'][$key2],$value2);
}
}
}
但这会给你这样的结果
Array
(
[Development Fund] => Array
(
[0] => Array
(
[LedgerID] => 573befb96e3dceb6468b4567
[LedgerName] => Development Fund
[PanITNO] => UK07AK1787
[dateOfPayment] => 01-Dec-2015
[totalAmountPaid] => 49000
[tdsRate] => 2
[totalDudections] => 980
[0] => Array
(
[Amountdeposited] => 1000
[dateOfDeposited] => 01-Jan-2016
[challaNumber] => 2
)
)
[1] => Array
(
[LedgerID] => 573befb96e3dceb6468b4567
[LedgerName] => Development Fund
[PanITNO] => UK07AK1787
[dateOfPayment] => 01-Mar-2016
[totalAmountPaid] => 4000
[tdsRate] => 2
[totalDudections] => 80
[0] => Array
(
[Amountdeposited] => 50000000
[dateOfDeposited] => 03-Mar-2016
[challaNumber] => 5555
)
)
[2] => Array
(
[LedgerID] => 573befb96e3dceb6468b4567
[LedgerName] => Development Fund
[PanITNO] => UK07AK1787
[dateOfPayment] => 23-Mar-2016
[totalAmountPaid] => 19000
[tdsRate] => 2
[totalDudections] => 380
[0] => Array
(
[Amountdeposited] => 90000
[dateOfDeposited] => 24-Mar-2016
[challaNumber] => 999
)
)
)
[Registration Fee] => Array
(
[0] => Array
(
[LedgerID] => 5739b50b6e3dce450e8b4567
[LedgerName] => Registration Fee
[PanITNO] => ITR00123
[dateOfPayment] => 02-Jan-2016
[totalAmountPaid] => 1000
[tdsRate] => 10
[totalDudections] => 100
)
)
[Purchase1] => Array
(
[0] => Array
(
[LedgerID] => 573c321e6e3dcec3228b4567
[LedgerName] => Purchase1
[PanITNO] => ITR00123
[dateOfPayment] => 02-Jan-2016
[totalAmountPaid] => 8000
[tdsRate] => 2
[totalDudections] => 160
)
)
)
这对你合适吗
function MergMultiDmsAry($array1,$array2)
{
$i = 0;
$newa = array();
$god = array();
$final = array();
foreach($array1 as $key=>$value)
{
for($j = 0; $j < count($value); $j++)
{
$newa = array_merge($value[$j],$array2[$key][$j]);
$god[] = $newa;
}
$i++;
// set the key
$final[$key] = $god;
}
print_r($final);
这可能会帮助您给我答案:
Array ( [dev] => Array
( [0] =>
Array ( [id] => 1 [name] => john [address] => damak )
[1] =>
Array ( [id] => 2 [name] => mayer [address] => kathmandu )
) )
嗯,你的意思是重复请建议是可能的任何PHP直接功能。对我来说很紧急。我想没人会喜欢那样的。如果有人因此否决了你的问题,我不会感到惊讶。你在这里有两个答案。你可以编辑你的答案,并在第一个答案的基础上添加第二个答案。
Array ( [dev] => Array
( [0] =>
Array ( [id] => 1 [name] => john [address] => damak )
[1] =>
Array ( [id] => 2 [name] => mayer [address] => kathmandu )
) )