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

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. Web报表工具FineReport填报界面键盘操作

    对于一张填报数据较多的报表,需要用户频繁地操作鼠标.而FineReport填报界面除去按钮类型的控件,其余可以完全使用键盘而不需要用鼠标操作,对于用户而言,这将极大的节省信息录入的时间. 这里我们对填 ...

  2. 在SharePoint 2013 之中使用JS从Add-in程序中读取用户配置文件的属性

    经过无数次的实验,只有这个程序可以运行正常 ,代码贴出来纯的JSOM,在我的实验环境老是返回未知错误,为了这一个简单的任务,我已经搞了2天了,不过终于搞出来了,使用各种方法后,还有使用代码. func ...

  3. 如果你的SharePoint出现了,状态服务问题,InfoPath无法正常使用

    Create a new ‘State Service’ Service Application using Powershell February 14, 2012Leave a commentGo ...

  4. iOS平台UDID方案比较

    苹果在iOS6中禁用了[UIDevice uniqueIdentifier],在iOS7中又把mac地址的获取给堵上了.没办法,毕竟人家是老大,说不让你用,你也没办法.在这边总结一下现有的一部分UDI ...

  5. swift-运算符

    运算符:+ , - , * , / ,%, ++,-- OC和swiftch除了取模运算符,其他用法都一样 可以检测 //var num:UInt8 = 255 + 1 不可以检测 var num1: ...

  6. 强大的flash头像上传插件(支持旋转、拖拽、剪裁、生成缩略图等)

    今天介绍的这款flash上传头像功能非常强大,支持php,asp,jsp,asp.net 调用 头像剪裁,预览组件插件. 本组件需要安装Flash Player后才可使用,请从http://dl.pc ...

  7. AngularJS 模块& 表单

    模块定义了一个应用程序. 模块是应用程序中不同部分的容器. 模块是应用控制器的容器. 控制器通常属于一个模块. 应用("myApp") 带有控制器 ("myCtrl&qu ...

  8. 多War项目中静态文件的共享方案

    [原创申明:文章为原创,欢迎非盈利性转载,但转载必须注明来源] 在互联网产品中,一般会有多个项目(Jar.WAR)组成一个产品线.这些WAR项目,因为使用相同的前端架构(jQuery.easyui等) ...

  9. 4.MySQL 主主(m-m) 同步生产库标准同步操作实施流程

    通过MySQL参数配置使用主主前提: 1.表的主键自增. ################################################################# #m1-m ...

  10. python中的ValueError

    在初学时候,会遇到这种错误,修改了代码,一一比对了代码,发现代码,没有错误,可是就是运行不了. 我们先从错误的语句来入手!(这显示了英语很重要)   ValueError: need more tha ...