我有两个多维数组,我需要按特定键合并它们。我尝试了array_merge_recursive和array_search,结果很差。
主要数组:<>之前数组([group] => Array([subgroup] => Array([items] =>数组([项目1]=> web开发[项目2]=> dba[项目3]=> qa))))/* ------------ */阵列([item 1] =>数组([用户1]=> Array([properties] => Array([id] => conexion_1624 .[name] => john Doe))[用户2]=> Array([properties] => Array([id] => conexion_2001 .[name] =>爱丽丝和鲍勃))))之前
预期结果:<>之前数组([group] => Array([subgroup] => Array([items] =>数组([item 1] =>数组([用户1]=> Array([properties] => Array([id] => conexion_1624 .[name] => john Doe))[用户2]=> Array([properties] => Array([id] => conexion_2001 .[name] =>爱丽丝和鲍勃)))[项目2]=> dba[项目3]=> qa))))
如果数组结构没有改变
foreach($the2nd as $key => $item)
$the1st['group']['subgroup']['items'][$key] = $item;
更新由于评论中的讨论
如果在第一个数组中的项可能不在同一层,这样的代码将找到它们
array_walk_recursive (
$the1nd ,
function($v, $k, $the2nd) { if(isset($the2nd[$k])) $v = $the2nd[$k]; },
$the2nd);
下面的代码将为您提供您正在寻找的结果。
$result = array_merge($array1['group']['subgroup']['items'], $array2);