合并前的数组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)
$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);
本文原创发布php中文网,转载请注明出处,感谢您的尊重!