php 二维数组合并 以一个数组为参照,比它多的项删除,比它少的项增加,相同的增加

$a = array('01' => array('count'=>1, 'amount'=>100,'cesgu'=>33),
'02' => array('count'=>2, 'amount'=>200),
'03' => array('count'=>3, 'amount'=>250) );
$b = array('01' => array('count'=>4, 'amount'=>300),
'02' => array('count'=> 5, 'amount'=>400));

以$a 为参照
输出Array ( [01] => Array ( [count] => 5 [amount] => 400 [cesgu] => 33 ) [02] => Array ( [count] => 7 [amount] => 600 )
[03] => Array ( [count] => 3 [amount] => 250 ) )

如果以$b为参照的话
输出Array ( [01] => Array ( [count] => 5 [amount] => 400 [cesgu] => 33 ) [02] => Array ( [count] => 7 [amount] => 600 )
请教下大家,

可以使用 array_replace_recursive() 函数来实现二维数组的合并,第一个数组作为参照,第二个数组的值将会覆盖第一个数组相同键的值。


以$a 为参照:

$result = array_replace_recursive($a, $b);

以$b 为参照:

$result = array_replace_recursive($b, $a);

示例代码中输出的结果可能不准确,因为它并没有进行类似累加的操作,如果你需要累加操作,需要额外遍历数组并进行相应的计算操作。