[每日积累]两个二位数组合并方法
2018-03-02 10:41
330 查看
有以下两个二维数组
数组1
数组3
如果直接用array_merge合并两个数组是不可行的,因为array_merge不管是几维数组,只对数组最外边的那一层进行处理,如例子,array_merge对二维数组进行合并时,因为这两个二位数组的键值都是1,2,3,4,5,只会一个数组覆盖另一个,而不去管里边的一维数组的值,所以要出现数组3,需要进行手动合并:
foreach ($数组1 as $key => $value) {
$数组3[$key] = array_merge($value,$数组2[$key]);
}
思路:利用循环找到一维数组,再进行合并就可以了
数组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]);
}
思路:利用循环找到一维数组,再进行合并就可以了
相关文章推荐
- 面试编程题2:不要用内建方法,实现两个数组合并
- 合并两个数组的方法
- js合并两个数组的方法
- 两个数组合并的方法
- JavaScript合并两个数组并去除重复项的方法
- java 两个数组合并的几种方法
- 使用concat()方法合并两个数组。
- python实现合并两个数组的方法
- JS实现合并两个数组并去除重复项只留一个的方法
- 探讨JS合并两个数组的方法
- python使用append合并两个数组的方法
- PHP实现合并两个有序数组的方法分析
- javascript两个数组合并及判断数据类型的方法
- 06.探讨JS合并两个数组的方法
- 转:探讨JS合并两个数组的方法
- 数组合并删除两个相同元素方法
- 【Java】两个排序后的数组A和B,其中A的末端有足够的缓冲容纳B。编写一个方法,将B合并入A并排序。
- JS实现合并两个数组并去除重复项只留一个的方法
- concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
- php通过array_merge()函数合并两个数组的方法