注:尽量不要在循环中操作数据库。

1.两个一维数组合并成一个一维数组

$a = array('morning','afternoon','night');

$b = array('breakfast','lunch','dinner');

(1)以$a中的数组元素为键名,以$b中的数组元素为键值而形成的一个新数组。

$c = array_combine($a,$b);

(2)将$a中与$b中键值相同的数组元素剔除,仅保留$a中不同的数组元素。也就是说返回差集。

$c=array_diff($a,$b);

(3)将$a中与$b中键名和键值同时相同的数组元素剔除,仅保留$a中不同的数组元素,也就是说返回差集数组。

$a = array('morning','afternoon','night');
         $b = array('breakfast','lunch','night');
         $c=array_diff_assoc($a,$b);
         print_r($c);

输出结果为:

(4)将$a中与$b中键名相同的数组元素剔除,仅保留$a中不同的数组元素,也就是说返回差集数组。

$c=array_diff_key($a,$b);

空数组。

(5)将$a中与$b中键名和键值同时相同的数组元素剔除,仅保留$a中不同的数组元素,也就是说返回差集数组,然后使用用户自定义函数比较此差集数组中的键名,对数组重新排序。

(6)将$a中与$b中键名相同的数组元素剔除,仅保留$a中不同的数组元素,也就是说返回差集数组,然后使用用户自定义函数比较此差集数组中的键名,对数组重新排序。

$a = array('morning','afternoon','night','today','yesterday','tomorrow');

$b = array('breakfast','lunch','night');
            $c=array_diff_ukey($a,$b,function($a,$b){
              if($a==$b)
                 return 0;
             return ($a>$b)?-1:1;
           });
           print_r($c);

(7)将$a中与$b中键值相同的数组元素返回,键名为$a中对应的数组键名。(或者是更多数组,返回的是共有的交集)

$a = array('morning','afternoon','today','night','yesterday','tomorrow');
             $b = array('breakfast','lunch','night');
             $c = array_intersect($a,$b);
             print_r($c);

论php数组合并的更多相关文章

  1. go语言:多个[]byte数组合并成一个[]byte

    场景:在开发中,要将多个[]byte数组合并成一个[]byte,初步实现思路如下: 1.获取多个[]byte长度 2.构造一个二维码数组 3.循环将[]byte拷贝到二维数组中 package gst ...

  2. PHP数组合并+与array_merge的区别分析 & 对多个数组合并去重技巧

    PHP中两个数组合并可以使用+或者array_merge,但之间还是有区别的,而且这些区别如果了解不清楚项目中会要命的! 主要区别是两个或者多个数组中如果出现相同键名,键名分为字符串或者数字,需要注意 ...

  3. JS数组键值,数组合并,

    eg: var arr = [] arr.test = '测试'; arr.push(1); arr.push(2); arr.obj = '对象'; console.log(arr);// [ 1, ...

  4. PHP数组合并 array_merge 与 + 的差异

    在PHP数组合并出过几次问题都没记住,写下来加强一点记忆 PHP数组在合并时,使用 array_merge 与 + 的差异: 1.array_merge(array $array1 [, array  ...

  5. Python数组合并

    Python数组合并 a = [1, 2] b = [3, 4] c = a + b print(c) # [1, 2, 3, 4]

  6. PHP数组合并的常见问题

    一维数组的合并 <?php $arr1=array("a","b","c"); $arr2=array("c",& ...

  7. php二位数组合并

    转自:http://www.cnblogs.com/losesea/archive/2013/06/14/3134900.html 题目:有以下2个二维数组 1$a=Array(0 => Arr ...

  8. PHP中数组合并的两种方法及区别介绍

    PHP数组合并两种方法及区别 如果是关联数组,如下: 复制代码代码如下: $a = array( 'where' => 'uid=1', 'order' => 'uid', ); $b = ...

  9. 华为OJ平台——整形数组合并

    题目描述: 将两个整型数组按照升序合并,并且过滤掉重复数组元素 输入: 输入说明,按下列顺序输入: 1 输入第一个数组的个数 2 输入第一个数组的数值 3 输入第二个数组的个数 4 输入第二个数组的数 ...

随机推荐

  1. arcgis engine 中出现的内存堆栈溢出问题。

    两种解决方案: 1.循环加载mxd文档的时候出现的堆栈溢出,解决办法是每次循环结束时清空FeatureLayer,感觉并不好,但是确实可以实现功能. 2.循环调取featureclass的search ...

  2. WCF+Restfull服务 提交或获取数据时数据大小限制问题解决方案

    近日在使用wcf的restfull架构服务时遭遇到了提交大数据的问题. 大数据包含两种情形: 1)单条数据量过大. 2)提交或获取的数据条数过多. 在测试时发现,默认设置下当单条JSON数据大于30K ...

  3. iOS 性能调试

    性能调优的方式: 1.通过专门的性能调优工具 2.通过代码优化 1. 性能调优工具: 下面针对iOS的性能调优工具进行一个介绍: 1.1 静态分析工具–Analyze 相信iOS开发者在App进行Bu ...

  4. iOS存储数据字典到沙盒

    1.创建一个账号数据模型 用来存放从服务器返回的数据,一般返回的是一个字典,里面包含了这个登陆用户的各种信息,这个数据模型就是用来存放这些东西的 创建一个数据模型  YYCAccount 继承 NSO ...

  5. 关于WCF报错之调用方未由服务器进行身份验证

    在我们部署好WCF服务以后,调用WCF服务会出现”调用方未由服务器进行身份验证”的错误.这个错误是怎么造成的呢? 通常我们在创建WCF后,用本机调试,一切正常,没有任何问题.其实用本机测试的时候,服务 ...

  6. getopt,getoptlong学习

         getopt和getoptlong被用来解析命令行参数.   一.getopt #include <unistd.h> extern char *optarg; extern i ...

  7. PB gird类型数据窗口 设置分组、分组小计、合计

    今天遇到一个需求,gird表格数据如下:  部门  类型 数据   A  类型1  1  A  类型2  2  B  类型1  3  B  类型2  4   合计 10 实际需要显示的结果为:  部门 ...

  8. 转: CentOS 安装 SVN1.8 客户端

     from: http://blog.csdn.net/clementad/article/details/46898091 CentOS 安装SVN客户端 标签: subversionrpmcent ...

  9. 21-Python-Django进阶补充篇

    1. 路由部分补充 1.1 默认值 url: url(r'^index/', views.index, {'name': 'root'}), views: def index(request,name ...

  10. Ubuntu16.04下安装VS Code

    在Ubuntu下面安装Visual Studio Code sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make sudo apt-get up ...