<pre>
<?php header("Content-Type:text/html;charset=utf-8");
/*知识点一:array_diff — 计算数组的差集
原形:array array_diff ( array $array1 , array $array2 [, array $... ] )
功能:对比返回在 array1 中但是不在 array2 及后面参数数组中的值。
返回:返回一个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。
注意:返回的数组键名保留不变。
应用背景案例分析:
假设我们做一个邮件群发系统,邮件都在数组 $a中保留。
如果有本次我们不想发送给其中特定的几个邮箱,没必要从$a中删除,因为下次还有添加比较麻烦。
处理方法:在做一个数组$b,让系统自动差集计算,不对在$b中包含的几个用户发邮件,其他都发送。
*/
//例:
/*$a = range(1,9); //创建一个包含 1,2,3,4,5,6,7,8,9 的数组
$b = array(5,6,1); //计划排除其中的 1,5,6
$c = array_diff($a,$b); //结果为 2,3,4,7,8,9*/ //例:
$a = array('动', '美', '学', '院');
$b = array('a'=>'学','美');
$c = array_diff($a,$b);
var_export($c); //结果为 动 院 /*知识点二:array_diff_assoc — 带索引检查计算数组的差集
函数原形:array array_diff_assoc ( array $array1 , array $array2 [, array $... ] )
功能:计算差集,要求键值对完全相同的才进行减去。
返回:返回一个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的"键值对"
*/
$a = array('d' => '动', 'l' => '美', 'x' => '学', 'y' => '院');
$b = array('l' => '美','a' => '动' );
$c = array_diff_assoc($a,$b);
var_export($c);
//结果:array ( 'd' => '动', 'x' => '学', 'y' => '院', ) /*知识点三:array_diff_key — 使用键名比较计算数组的差集
函数原形:array array_diff_key ( array $array1 , array $array2 [, array $... ] )
根据 array1 中的键名和 array2 进行比较,返回不同键名的项。
本函数和 array_diff() 相同只除了比较是根据键名而不是值来进行的。
*/
$a = array('d' => '动', 'l' => '美', 'x' => '学', 'y' => '院');
$b = array('d' => '学','l' => '美');
$c = array_diff_key($a,$b);
var_export($c); //结果:array ( 'x' => '学', 'y' => '院', ) /*目前关于array_diff的函数及变种一共有八个分别如下,比较实用的有三个
array_diff_assoc — 带索引检查计算数组的差集
array_diff_key — 使用键名比较计算数组的差集
array_diff_uassoc — 用用户提供的回调函数做索引检查来计算数组的差集
array_diff_ukey — 用回调函数对键名比较计算数组的差集
array_diff — 计算数组的差集
array_udiff_assoc — 带索引检查计算数组的差集,用回调函数比较数据
array_udiff_uassoc — 带索引检查计算数组的差集,用回调函数比较数据和索引
array_udiff — 用回调函数比较数据来计算数组的差集
*/?>

PHP:第四章——PHP数组array_diff计算数组差集的更多相关文章

  1. PHP array_diff 计算数组的差集

    array_diff (PHP 4 >= 4.0.1, PHP 5) array_diff — 计算数组的差集 说明 array array_diff ( array $array1 , arr ...

  2. PHP:第四章——PHP数组array_intersect计算数组交集

    <pre> <?php //array_intersect计算数组交集 header("Content-Type:text/html;charset=utf-8" ...

  3. C# Language Specification 5.0 (翻译)第四章 类型

    C# 语言的类型分为两大类:值类型(value type)和引用类型(reference type),而它们又都同时具有至少一个类型形参的泛型类型(generic type).类型形参(type pa ...

  4. C++ Primer Plus学习:第四章

    C++入门第四章:复合类型 1 数组 数组(array)是一种数据格式,能够存储多个同类型的值. 使用数组前,首先要声明.声明包括三个方面: 存储每个元素中值的类型 数组名 数组中的元素个数 声明的通 ...

  5. C语言学习笔记 (004) - 数组名和数组首地址(转)

    一个变量有地址,一个数组包含若干元素,每个数组元素都在内存中占用存储单元,它们都有相应的地址.指针变量既然可以指向变量,当然也可以指向数组和数组元素(把数据起始地址或某一元素的地址放到一个指针变量中) ...

  6. 《利用python进行数据分析》读书笔记--第四章 numpy基础:数组和矢量计算

    http://www.cnblogs.com/batteryhp/p/5000104.html 第四章 Numpy基础:数组和矢量计算 第一部分:numpy的ndarray:一种多维数组对象 实话说, ...

  7. 《利用Python进行数据分析·第2版》第四章 Numpy基础:数组和矢量计算

    <利用Python进行数据分析·第2版>第四章 Numpy基础:数组和矢量计算 numpy高效处理大数组的数据原因: numpy是在一个连续的内存块中存储数据,独立于其他python内置对 ...

  8. [书籍翻译] 《JavaScript并发编程》第四章 使用Generators实现惰性计算

    本文是我翻译<JavaScript Concurrency>书籍的第四章 使用Generators实现惰性计算,该书主要以Promises.Generator.Web workers等技术 ...

  9. 《C专家编程》第四章——令人震惊的事实:数组和指针并不相同

    数组和指针是C语言里相当重要的两部分内容,也是新手程序员最容易搞混的两个地方,本章我们锁定指针与数组,探讨它们的异同点. 首先来看指针与数组在声明上的区别: int a[10]; int *p; 很明 ...

随机推荐

  1. C#中的基本类型理解

    1.C#把所有基本类型都封装成自己的类型了,如下图,int被封装成了一个struct结构体.如果定义一个int对象,是可以调用int结构体里的函数的 2.和C\C++不同,C#的char就是单纯的代表 ...

  2. Linux设备驱动中的IO模型---阻塞和非阻塞IO【转】

    在前面学习网络编程时,曾经学过I/O模型 Linux 系统应用编程——网络编程(I/O模型),下面学习一下I/O模型在设备驱动中的应用. 回顾一下在Unix/Linux下共有五种I/O模型,分别是: ...

  3. fhq treap抄袭笔记

    目录 碎碎念 点一下 注意!!! 模板 fhq treap 碎碎念 我咋感觉合并这么像左偏树呢 ps:难道你们的treap都是小头堆的吗 fhq真的是神人 现在看以前学的splay是有点恶心,尤其是压 ...

  4. RedHat6使用CentOS yum源 换yum

    yum 简单介绍一下 yum 主要功能是更方便的添加/删除/更新RPM 包,自动解决包的倚赖性问题,便于管理大量系统的更新问题. yum 可以同时配置多个资源库(Repository),简洁的配置文件 ...

  5. 51nod 1183 编辑距离

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1183. 题意不再赘述. 分析:大概和LCS差不多的吧   但是我用LCS ...

  6. UVa 821 网页跳跃(Floyd)

    https://vjudge.net/problem/UVA-821 题意:给出一个有向图,任意两点都可相互到达,求任意两点的最短距离的平均值. 思路:求两点的最短距离,用Floyd算法很方便,最后加 ...

  7. python 编程基础练习 第一天

    python 编程基础练习 第一天: 需求: 1.计算2的38次方,180*0.7输出(精度显示正常), x的y次方,数字倒序输出即345876输出678543,方法越多越好. 2.字符串处理: 1) ...

  8. ASCII 、UTF-8、Unicode都是个啥啊,为啥会乱码啊?

    因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制1111 ...

  9. Ubuntu 14.04设置开机启动脚本的方法

    rc.local脚本 rc.local脚本是一个ubuntu开机后会自动执行的脚本,我们可以在该脚本内添加命令行指令.该脚本位于/etc/路径下,需要root权限才能修改. 该脚本具体格式如下: #! ...

  10. ubuntu 14.04 server 能ping通,但不能ssh

    ssh是一种安全协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全,我们可以很方便的用ssh链接工具连接远程服务器进行相关操作,但是在享受这种方便的同时我们需要进行一些配置. 首先我们需要在 ...