php将两个不同长度数组相同的key合并到一个数组,不同的key也合并进去
2016-11-03 16:30
1021 查看
1.处理前的数组:
2.根据2个数组id相同的一维数组,将$arr2的shop_name添加到$arr1,将$arr1的user_name添加到$arr2,如果没有相同的id,shop_name和user_name为空,处理后的数组:
3:处理的过程
<?php $arr1 = array( array( 'id' => 1, 'user_name'=>'test1' ), array( 'id' => 2, 'user_name'=>'test2' ), array( 'id' => 3, 'user_name'=>'test3' ) ); $arr2 = array( array( 'id' => 1, 'shop_name'=>'shop1' ), array( 'id' => 5, 'shop_name'=>'shop2' ), array( 'id' => 3, 'shop_name'=>'shop3' ), array( 'id' => 4, 'shop_name'=>'shop4' ) );
2.根据2个数组id相同的一维数组,将$arr2的shop_name添加到$arr1,将$arr1的user_name添加到$arr2,如果没有相同的id,shop_name和user_name为空,处理后的数组:
$new_arr =array( array( 'id' => 1, 'user_name'=>'test1', 'shop_name'=>'shop1' ), array( 'id' => 2, 'user_name'=>'test2', 'shop_name'=>'' ), array( 'id' => 3, 'user_name'=>'test3', 'shop_name'=>'shop3' ), array( 'id' => 4, 'user_name'=>'', 'shop_name'=>'shop4' ), array( 'id' => 5, 'user_name'=>'', 'shop_name'=>'shop2' ), );
3:处理的过程
$new_arr = array(); foreach ($arr1 as $val) { $new_arr[$val['id']] = array('id'=>$val['id'],'shop_name'=>'','user_name'=>$val['user_name']); } foreach ($arr2 as $val) { if(isset($new_arr[$val['id']])){ $new_arr[$val['id']]['shop_name'] = $val['shop_name']; }else{ $new_arr[$val['id']] = array('id'=>$val['id'],'shop_name'=>$val['shop_name'],'user_name'=>'',); } } var_dump(array_values($new_arr));
相关文章推荐
- php将两个数组相同的key合并到一个数组
- php将两个数组相同的key合并到一个数组
- 累加两个php数组,键相同的累加,不同的合并
- php数组根据某一个键值,把相同键值的合并生成一个新的二维数组
- PHP将二维数组某一个字段相同的数组合并起来的方法
- php数组根据某一个键值,把相同键值的合并生成一个新的二维数组
- php数组合并两个数组(一个数组做键名,另一个做值)
- .net 合并两个数组为一个新的数组,两数组中相同的数据只存在一个
- PHP将两个数组合并成一个数组
- PHP分割两个数组的相同元素和不同元素的两种方法
- java里如何实现两个等长度的字符串数组有多少个元素相同(从最左边开始,一旦遇到不同元素则跳出计数)
- 如何将不同数组对象合并,根据相同的key
- 怎么把两个数组合并成一个php
- php两个数组合并在一起,根据两个数组相同的键进行排序(时间排序)
- 同一个数据库里,两个相同字段但是顺序不同的数据表合并教程
- PHP中获取我的城市列表,通过排序,通过A-Z的循环!数列出相同的首字母结果!,放到一个以A-Z为key的数组里面去,再返回我要的结果!
- PHP将二维数组某一个字段相同的数组合并起来的方法
- php 数组根据某一个键值,键值相同,则合并数组
- sql语句——不同的表根据相同的字段值将两个表指定的字段合并为一个表
- php获取两个数组相同的元素(交集)以及比较两个数组中不同的元素(差集)