您的位置:首页 > 其它

[每日积累]两个二位数组合并方法

2018-03-02 10:41 330 查看
有以下两个二维数组
数组1
array(5) {
[0] => array(1) {
["id"] => int(25)
}
[1] => array(1) {
["id"] => int(24)
}
[2] => array(1) {
["id"] => int(3)
}
[3] => array(1) {
["id"] => int(2)
}
[4] => array(1) {
["id"] => int(1)
}
}
数组2
array(5) {
[0] => array(1) {
["user_id"] => string(1) "4"
}
[1] => array(1) {
["user_id"] => string(2) "85"
}
[2] => array(1) {
["user_id"] => string(7) "26,85,4"
}
[3] => array(1) {
["user_id"] => string(5) "26,85"
}
[4] => array(1) {
["user_id"] => string(10) "26,4,85,86"
}
}
现在想要合并成
数组3
array(5) {
[0] => array(2) {
["id"] => int(25)
["user_id"] => string(1) "4"
}
[1] => array(2) {
["id"] => int(24)
["user_id"] => string(2) "85"
}
[2] => array(2) {
["id"] => int(3)
["user_id"] => string(7) "26,85,4"
}
[3] => array(2) {
["id"] => int(2)
["user_id"] => string(5) "26,85"
}
[4] => array(2) {
["id"] => int(1)
["user_id"] => string(10) "26,4,85,86"
}
}

如果直接用array_merge合并两个数组是不可行的,因为array_merge不管是几维数组,只对数组最外边的那一层进行处理,如例子,array_merge对二维数组进行合并时,因为这两个二位数组的键值都是1,2,3,4,5,只会一个数组覆盖另一个,而不去管里边的一维数组的值,所以要出现数组3,需要进行手动合并:
foreach ($数组1 as $key => $value) {
       $数组3[$key] = array_merge($value,$数组2[$key]);
}
思路:利用循环找到一维数组,再进行合并就可以了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: