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 相关文章推荐
VFP与其他应用程序的集成
Oct 09 PHP
使用Sphinx对索引进行搜索
Jun 25 PHP
php检测useragent版本示例
Mar 24 PHP
php中使用url传递数组的方法
Feb 11 PHP
php多次include后导致全局变量global失效的解决方法
Feb 28 PHP
php使用标签替换的方式生成静态页面
May 21 PHP
PHP准确取得服务器IP地址的方法
Jun 02 PHP
刷新PHP缓冲区为你的站点加速
Oct 10 PHP
php构造函数与析构函数
Apr 23 PHP
thinkPHP2.1自定义标签库的导入方法详解
Jul 20 PHP
yii2 url重写并隐藏index.php方法
Dec 10 PHP
php实现的证件照换底色功能示例【人像抠图/换背景图】
May 29 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 数据库树的遍历方法
2009/02/06 PHP
php中存储用户ID和密码到mysql数据库的方法
2013/02/06 PHP
浅谈php安全性需要注意的几点事项
2014/07/17 PHP
ThinkPHP中__initialize()和类的构造函数__construct()用法分析
2014/11/29 PHP
php实现Linux服务器木马排查及加固功能
2014/12/29 PHP
PHP定义字符串的四种方式详解
2018/02/06 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
2018/04/04 PHP
JS图片自动轮换效果实现思路附截图
2014/04/30 Javascript
用js模拟struts2的多action调用示例
2014/05/19 Javascript
纯HTML5制作围住神经猫游戏-附源码下载
2015/08/23 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
2015/10/31 Javascript
jQuery模拟淘宝购物车功能
2017/02/27 Javascript
详解如何使用webpack打包JS
2018/06/21 Javascript
小程序实现锚点滑动效果
2019/09/23 Javascript
vue仿ios列表左划删除
2019/09/26 Javascript
JS插件amCharts实现绘制柱形图默认显示数值功能示例
2019/11/26 Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
2020/08/04 Javascript
Vue-cli打包后如何本地查看的操作
2020/09/02 Javascript
vue实现前端列表多条件筛选
2020/10/26 Javascript
vue项目中使用rem,在入口文件添加内容操作
2020/11/11 Javascript
vue 实现基础组件的自动化全局注册
2020/12/25 Vue.js
python实现爬虫统计学校BBS男女比例之数据处理(三)
2015/12/31 Python
Python学习入门之区块链详解
2017/07/25 Python
python利用高阶函数实现剪枝函数
2018/03/20 Python
Python读取excel指定列生成指定sql脚本的方法
2018/11/28 Python
Pytorch中的自动求梯度机制和Variable类实例
2020/02/29 Python
Python xlrd excel文件操作代码实例
2020/03/10 Python
浅谈Python程序的错误:变量未定义
2020/06/02 Python
Python tkinter实现日期选择器
2021/02/22 Python
CSS3制作日历实现代码
2012/01/21 HTML / CSS
文明礼仪标语
2014/06/13 职场文书
党员批评与自我批评
2014/10/15 职场文书
2016年第十四个公民道德宣传日活动总
2016/04/01 职场文书
JavaScript canvas实现流星特效
2021/05/20 Javascript
Elasticsearch 批量操作
2022/04/19 Python
PyCharm 配置SSH和SFTP连接远程服务器
2022/05/11 Python