PHP获得数组交集与差集的方法


Posted in PHP onJune 10, 2015

本文实例讲述了PHP获得数组交集与差集的方法。分享给大家供大家参考。具体分析如下:

一、数组的交集 array_intersect()

array_intersect()函数返回一个保留了键的数组,这个数组只由第一个数组中出现的且在其他每个输入数组中都出现的值组成。其形式如下:

array array_intersect(array array1,array array2[,arrayN…])

下面这个例子将返回在$fruit1数组中出现的且在$fruit2和$fruit3中也出现的所有的水果:

<?php
$fruit1 = array("Apple","Banana","Orange");
$fruit2 = array("Pear","Apple","Grape");
$fruit3 = array("Watermelon","Orange","Apple");
$intersection = array_intersect($fruit1, $fruit2, $fruit3);
print_r($intersection);
// output
// Array ( [0] => Apple )
?>

只有在两个元素相等且具有相同的数据类型时,array_intersect()函数才会认为它们是相同的。

关联数组的交集 array_intersect_assoc()

函数array_intersect_assoc()与array_intersect()基本相同,只不过他在比较中还考虑了数组的键。因此,只有在第一个数组中出现,且在所有其他输入数组中也出现的键/值对才返回到结果数组中。

形式如下:

array array_intersect_assoc(array array1,array array2[,arrayN…])

下面的例子返回了出现在$fruit1数组中,也同时出现在$fruit2与$fruit3中的所有键/值对:

<?php
$fruit1 = array("red"=>"Apple","yellow"=>"Banana","orange"=>"Orange");
$fruit2 = array("yellow"=>"Pear","red"=>"Apple","purple"=>"Grape");
$fruit3 = array("green"=>"Watermelon","orange"=>"Orange","red"=>"Apple");
$intersection = array_intersect_assoc($fruit1, $fruit2, $fruit3);
print_r($intersection);
// output
// Array ( [red] => Apple )
?>

二、数组的差集 array_diff()

函数array_diff()返回出现在第一个数组中但其他输入数组中没有的值。这个功能与array_intersect()相反。

array array_diff(array array1,array array2[,arrayN…])

实例如下:

<?php
$fruit1 = array("Apple","Banana","Orange");
$fruit2 = array("Pear","Apple","Grape");
$fruit3 = array("Watermelon","Orange","Apple");
$intersection = array_diff($fruit1, $fruit2, $fruit3);
print_r($intersection);
// output
// Array ( [1] => Banana )
?>

关联数组的差集 array_diff_assoc()

函数array_diff_assoc()与array_diff()基本相同,只是它在比较时还考虑了数组的键。因此,只在第一个数组中出现而不再其他输入数组中出现的键/值对才会返回到结果数组中。其形式如下:

array array_diff_assoc(array array1,array array2[,arrayN…])

下面的例子只返回了[yellow] => Banana,因为这个特殊的键/值对出现在$fruit1中,而在$fruit2和$fruit3中都不存在。

<?php
$fruit1 = array("red"=>"Apple","yellow"=>"Banana","orange"=>"Orange");
$fruit2 = array("yellow"=>"Pear","red"=>"Apple","purple"=>"Grape");
$fruit3 = array("green"=>"Watermelon","orange"=>"Orange","red"=>"Apple");
$intersection = array_diff_assoc($fruit1, $fruit2, $fruit3);
print_r($intersection);
// output
// Array ( [yellow] => Banana )
?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
探讨php中防止SQL注入最好的方法是什么
Jun 10 PHP
关于php循环跳出的问题
Jul 01 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
Oct 01 PHP
php Imagick获取图片RGB颜色值
Jul 28 PHP
PHP+APACHE实现网址伪静态
Feb 22 PHP
PHP中的流(streams)浅析
Jul 02 PHP
PHP微信红包API接口
Dec 05 PHP
Smarty模板引擎缓存机制详解
May 23 PHP
PHP基于堆栈实现的高级计算器功能示例
Sep 15 PHP
PHP定义字符串的四种方式详解
Feb 06 PHP
PHP的PDO大对象(LOBs)
Jan 27 PHP
PDO::errorCode讲解
Jan 28 PHP
php发送html格式文本邮件的方法
Jun 10 #PHP
php简单实现发送带附件的邮件
Jun 10 #PHP
php动态变量定义及使用
Jun 10 #PHP
php中动态变量用法实例
Jun 10 #PHP
PHP获取文件行数的方法
Jun 10 #PHP
CodeIgniter针对lighttpd服务器URL重写的方法
Jun 10 #PHP
PHP实现将textarea的值根据回车换行拆分至数组
Jun 10 #PHP
You might like
PHP开发不能违背的安全规则 过滤用户输入
2011/05/01 PHP
PHP+sqlite数据库操作示例(创建/打开/插入/检索)
2016/05/26 PHP
JAVASCRIPT实现的WEB页面跳转以及页面间传值方法
2010/05/13 Javascript
客户端限制只能上传jpg格式图片的js代码
2010/12/09 Javascript
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
2013/07/03 Javascript
jQuery学习笔记之jQuery.extend(),jQuery.fn.extend()分析
2014/06/09 Javascript
全面解析Bootstrap布局组件应用
2016/02/22 Javascript
AngularJS教程之简单应用程序示例
2016/08/16 Javascript
AngularJS  $on、$emit和$broadcast的使用
2016/09/05 Javascript
让浏览器崩溃的12行JS代码(DoS攻击分析及防御)
2016/10/10 Javascript
Map.vue基于百度地图组件重构笔记分享
2017/04/17 Javascript
剖析Angular Component的源码示例
2018/03/23 Javascript
Vue 实现列表动态添加和删除的两种方法小结
2018/09/07 Javascript
小程序如何构建骨架屏
2019/05/29 Javascript
jQuery实现checkbox全选、反选及删除等操作的方法详解
2019/08/02 jQuery
node后端服务保活的实现
2019/11/10 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
python中函数传参详解
2016/07/03 Python
django admin.py 外键,反向查询的实例
2019/07/26 Python
python有序查找算法 二分法实例解析
2020/02/18 Python
python实现程序重启和系统重启方式
2020/04/16 Python
Pytorch 使用 nii数据做输入数据的操作
2020/05/26 Python
python中get和post有什么区别
2020/06/19 Python
python简单利用字典破解zip文件口令
2020/09/07 Python
Rossignol金鸡美国官网:始于1907年法国百年雪具品牌
2019/03/06 全球购物
C有"按引用传递"吗
2016/09/06 面试题
护士自荐信范文
2013/12/15 职场文书
法律专业应届生自荐信范文
2014/01/06 职场文书
委托证明的格式
2014/01/10 职场文书
美德好少年事迹材料
2014/01/19 职场文书
《故乡》教学反思
2014/04/10 职场文书
感恩教育活动总结
2014/05/05 职场文书
幼儿园标语大全
2014/06/19 职场文书
中秋节国旗下演讲稿
2014/09/13 职场文书
骨干教师个人总结
2015/02/11 职场文书
保护环境的宣传语
2015/07/13 职场文书