/*
* 将A,B两个多维数组合并为C数组
* A,B数组均为关联数组
* 若key在A,B中均存在,追加合并
*/
function my_merge(&$a, $b)
{
foreach ($a as $key => &$val) {
if (is_array($val) && array_key_exists($key, $b) && is_array($b[$key])) {
my_merge($val, $b[$key]);
$val = $val + $b[$key];
} else if (is_array($val) || (array_key_exists($key, $b) && is_array($b[$key]))) {
if (isset($b[$key]) && is_array($b[$key])) {
foreach ($b[$key] as $key2 => $value2) {
$b[$key][$val] = array();
}
$val = is_array($val) ? $val : $b[$key];
}
}
}
$a = $a + $b;
return $a;
}