您好,欢迎访问一九零五行业门户网

两个二维数组的合并

合并前的数组a:
array (size=3) 0 => array (size=2) 'id' => string '113' (length=3) 'email' => string 'yintx_1292342352@163.com' (length=24) 1 => array (size=2) 'id' => string '111' (length=3) 'email' => string 'yintx_1293456456@163.com' (length=24) 2 => array (size=2) 'id' => string '109' (length=3) 'email' => string 'yintx_129@99999.com' (length=19)

合并前的数组b:
array (size=2) 0 => array (size=2) 'user_id' => string '113' (length=2) 'count' => string '1' (length=1) 1 => array (size=2) 'user_id' => string '109' (length=2) 'count' => string '8' (length=1)

合并后的数组(合并条件,a的id==b的user_id时合并):
array (size=3) 0 => array (size=3) 'id' => string '113' (length=3) 'email' => string 'yintx_1292342352@163.com' (length=24) 'count' => string '1' (length=1) 1 => array (size=3) 'id' => string '111' (length=3) 'email' => string 'yintx_1293456456@163.com' (length=24) 'count' => string '0' (length=1) 2 => array (size=3) 'id' => string '109' (length=3) 'email' => string 'yintx_129@99999.com' (length=19) 'count' => string '8' (length=1)

回复内容: 合并前的数组a:
array (size=3) 0 => array (size=2) 'id' => string '113' (length=3) 'email' => string 'yintx_1292342352@163.com' (length=24) 1 => array (size=2) 'id' => string '111' (length=3) 'email' => string 'yintx_1293456456@163.com' (length=24) 2 => array (size=2) 'id' => string '109' (length=3) 'email' => string 'yintx_129@99999.com' (length=19)

合并前的数组b:
array (size=2) 0 => array (size=2) 'user_id' => string '113' (length=2) 'count' => string '1' (length=1) 1 => array (size=2) 'user_id' => string '109' (length=2) 'count' => string '8' (length=1)

合并后的数组(合并条件,a的id==b的user_id时合并):
array (size=3) 0 => array (size=3) 'id' => string '113' (length=3) 'email' => string 'yintx_1292342352@163.com' (length=24) 'count' => string '1' (length=1) 1 => array (size=3) 'id' => string '111' (length=3) 'email' => string 'yintx_1293456456@163.com' (length=24) 'count' => string '0' (length=1) 2 => array (size=3) 'id' => string '109' (length=3) 'email' => string 'yintx_129@99999.com' (length=19) 'count' => string '8' (length=1)

array_merge_recursive() 函数与 array_merge() 函数 一样,将一个或多个数组的元素的合并起来,一个数组中的值附加在前一个数组的后面。并返回作为结果的数组。
但是,与 array_merge() 不同的是,当有重复的键名时,值不会被覆盖,而是将多个相同键名的值递归组成一个数组。(参见例子 1)
horse,b=>dog);
$a2=array(c=>cow,b=>cat);
print_r(array_merge_recursive($a1,$a2));
?>
输出:
array (
[a] => horse
[b] => array ( [0] => dog [1] => cat )
[c] => cow
)
$a = array( array('id'=>'113','email'=>'yintx_1292342352@163.com'), array('id'=>'111','email'=>'yintx_1293456456@163.com'), array('id'=>'109','email'=>'yintx_129@99999.com') );$b = array( array('user_id'=>'113','count'=>'1'), array('user_id'=>'109','count'=>'8') );foreach($a as $ka=>$va){ foreach($b as $kb=>$vb){ if($va['id'] == $vb['user_id']){ $a[$ka]['count'] = $vb['count']; } }}var_dump($a);----------array (size=3) 0 => array (size=3) 'id' => string '113' (length=3) 'email' => string 'yintx_1292342352@163.com' (length=24) 'count' => string '1' (length=1) 1 => array (size=2) 'id' => string '111' (length=3) 'email' => string 'yintx_1293456456@163.com' (length=24) 2 => array (size=3) 'id' => string '109' (length=3) 'email' => string 'yintx_129@99999.com' (length=19) 'count' => string '8' (length=1)
array_merge_recursive($a, $b);
其它类似信息

推荐信息