php二位数组合并
2016-03-29 11:57
736 查看
转自:http://www.cnblogs.com/losesea/archive/2013/06/14/3134900.html
题目:有以下2个二维数组
1
$a=Array(0 => Array(id => 66,class_name => www.iiwnet.com),1 => Array(id => 67,class_name => linux ));
2
$b=Array(0 => Array(class_count=> 8),1 => Array(class_count => 2));
两个数组内容如上,如何把$a和$b合并成为一个新的二维数组,要求新数组内容如下:
1
Array(0 => Array(id => 66,class_name => www.iiwnet.com,class_count=> 8),1 => Array(id => 67,class_name => linux ,class_count => 2));
这个题目一定有人遇到过 正好今天群里有人问 就给出2种解法
以下代码由 PHP教程网 原创提供
01
方法一:
02
03
function arrpreg(){
04
$a=Array(0 => Array(id => 66,class_name => www.iiwnet.com),1 => Array(id => 67,class_name => linux ));
05
$b=Array(0 => Array(class_count=> 8),1 => Array(class_count => 2));
06
$arr = array();
07
foreach ($a as $k => $r) {
08
foreach($r as $k1 => $r1){
09
$arr[$k][$k1] = $r1;
10
}
11
}
12
foreach ($b as $k => $r) {
13
foreach($r as $k1 => $r1){
14
$arr[$k][$k1] = $r1;
15
}
16
}
17
return $arr;
18
}
19
$ar= arrpreg();
20
echo '<pre>';
21
print_r($ar);
22
echo '</pre>';
23
?>
24
25
方法二:
26
27
$a = array(0 => Array(id => 66,class_name => www.iiwnet.com),1 => Array(id => 67,class_name => linux ));
28
$b = array(0 => Array(class_count=> 8),1 => Array(class_count => 2));
29
$arr = array();
30
foreach($a as $k=>$r){
31
$arr[] = array_merge($r,$b[$k]);
32
}
33
echo '<pre>';
34
print_r($arr);
35
echo '</pre>';
转自http://www.2cto.com/kf/201210/159324.html
/**
*
* @param type $v 要传入的组合阵列
* @param type $keyname 对应的KEY名称。
* @param type $valname 要写入的值KEY名称
* @param type $s 重组译的阵例。预设空值。
*/
function test($v,$keyname,$valname,$s=Array())
{
foreach($v AS $_k => $d)
{
$s[$d[$keyname]][$valname]= $d[$valname];
}
return $s;
}
$key ='server_id';
foreach($arr1 as $k=>$v){
$arr[$v['server_id']]= $v;
}
$data = test($arr2,$key,'arr2',$arr);
$data = test($arr3,$key,'arr3',$data);
转自http://www.dewen.org/q/7551
题目:有以下2个二维数组
1
$a=Array(0 => Array(id => 66,class_name => www.iiwnet.com),1 => Array(id => 67,class_name => linux ));
2
$b=Array(0 => Array(class_count=> 8),1 => Array(class_count => 2));
两个数组内容如上,如何把$a和$b合并成为一个新的二维数组,要求新数组内容如下:
1
Array(0 => Array(id => 66,class_name => www.iiwnet.com,class_count=> 8),1 => Array(id => 67,class_name => linux ,class_count => 2));
这个题目一定有人遇到过 正好今天群里有人问 就给出2种解法
以下代码由 PHP教程网 原创提供
01
方法一:
02
03
function arrpreg(){
04
$a=Array(0 => Array(id => 66,class_name => www.iiwnet.com),1 => Array(id => 67,class_name => linux ));
05
$b=Array(0 => Array(class_count=> 8),1 => Array(class_count => 2));
06
$arr = array();
07
foreach ($a as $k => $r) {
08
foreach($r as $k1 => $r1){
09
$arr[$k][$k1] = $r1;
10
}
11
}
12
foreach ($b as $k => $r) {
13
foreach($r as $k1 => $r1){
14
$arr[$k][$k1] = $r1;
15
}
16
}
17
return $arr;
18
}
19
$ar= arrpreg();
20
echo '<pre>';
21
print_r($ar);
22
echo '</pre>';
23
?>
24
25
方法二:
26
27
$a = array(0 => Array(id => 66,class_name => www.iiwnet.com),1 => Array(id => 67,class_name => linux ));
28
$b = array(0 => Array(class_count=> 8),1 => Array(class_count => 2));
29
$arr = array();
30
foreach($a as $k=>$r){
31
$arr[] = array_merge($r,$b[$k]);
32
}
33
echo '<pre>';
34
print_r($arr);
35
echo '</pre>';
转自http://www.2cto.com/kf/201210/159324.html
PHP二维数组合并,根据某个key合并
最终解决方案:/**
*
* @param type $v 要传入的组合阵列
* @param type $keyname 对应的KEY名称。
* @param type $valname 要写入的值KEY名称
* @param type $s 重组译的阵例。预设空值。
*/
function test($v,$keyname,$valname,$s=Array())
{
foreach($v AS $_k => $d)
{
$s[$d[$keyname]][$valname]= $d[$valname];
}
return $s;
}
$key ='server_id';
foreach($arr1 as $k=>$v){
$arr[$v['server_id']]= $v;
}
$data = test($arr2,$key,'arr2',$arr);
$data = test($arr3,$key,'arr3',$data);
转自http://www.dewen.org/q/7551
相关文章推荐
- Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
- php单例模式
- PHPCrawler抓取酷狗精选集歌单
- PHP创建word文档的方法(平台无关)
- [MarsZ]ThinkPHP项目实战总结
- Ubuntu上的ftp配置连接
- 开发自己的PHP MVC框架(二)
- PHP中key和current,next的联合运用实例分析
- static 静态方法 有什么优缺点 PHP中静态方法(static)与非静态方法的使用及区别
- [MarsZ]ThinkPHP项目实战总结
- 【php数组 函数详解】array_change_key_case将数组的键转换为大写或小写
- laravel excel导出功能
- php 计算程序的执行时间
- php编程中echo用逗号和用点号连接的区别
- PHP中的魔术方法(2)
- Ajax传递路径问题及解决
- PHP中抽象类、接口的区别与选择分析
- PHP中常见魔术方法解析
- Laravel框架学院
- 在PHPstorm上安装thinkPHP