072-PHP数组的交集和差集

<?php
    $arr1=array(1,3,4,5,34,78,99);        //参加第一项竞赛的学生学号数组
    $arr2=array(5,6,7,3,56,34,8,9);        //参加第二项竞赛的学生学号数组
    $arr=array_intersect($arr1,$arr2);        //获取两个数组的交集
    echo ‘两项竞赛均参加的学生学号有:<br />‘;
    print_r($arr);        //输出数组的详细信息
    $arr=array_diff($arr1,$arr2);        //获取相对数组$arr1的差集
    echo ‘<br />$arr1中只参加一项竞赛的学生学号有:<br />‘;
    print_r($arr);        //输出数组的详细信息
    $arr=array_diff($arr2,$arr1);        //获取相对数组$arr2的差集
    echo ‘<br />$arr2中只参加一项竞赛的学生学号有:<br />‘;
    print_r($arr);        //输出数组的详细信息
?>

原文地址:https://www.cnblogs.com/tianpan2019/p/10997101.html

时间: 2024-10-11 19:50:22

072-PHP数组的交集和差集的相关文章

JS - 计算两个数组的交集、差集、并集、补集(多种实现方式)

方法一:最普遍的做法 使用 ES5 语法来实现虽然会麻烦些,但兼容性最好,不用考虑浏览器 JavaScript 版本.也不用引入其他第三方库. 1,直接使用 filter.concat 来计算 var a = [1,2,3,4,5] var b = [2,4,6,8,10] //交集 var c = a.filter(function(v){ return b.indexOf(v) > -1 }) //差集 var d = a.filter(function(v){ return b.index

php 数组与数组 的交集和差集

注意,必须是第一个参数的数组的长度比较长才可以使用 $a1=array("0","1","2","3"); $a2=array("1","2","3"); //差集 $result=array_diff($a1,$a2); print_r($result); //交集$result=array_intersect ($a1,$a2); print_r($result)

【转】 js数组 Array 交集 并集 差集 去重

原文:http://blog.csdn.net/ma_jiang/article/details/52672762 最劲项目需要用到js数组去重和交集的一些运算,我的数组元素个数可能到达1000以上,网上的实现方式都是2次循环,性能不适合我的需求,1000*1000那次数太多了,所以我这里采用对象object来做处理,用空间换时间,code 如下: ///集合取交集 Array.intersect = function () { var result = new Array(); var obj

c#数组的交集,差集,并集

int[] x = { 10, 6, 7, 15, 8 }; int[] y = { 20, 9, 15, 2, 7 }; // 差集 var z1 = x.Except(y); foreach (var i in z1) { Console.Write(i + " "); } Console.WriteLine(""); // 交集 var z2 = x.Intersect(y); foreach (var i in z2) { Console.Write(i +

C# 数组的交集、差集、并集

工作中经常会用这方面的知识来检查那些字段是必须输入的,那些是禁止输入. 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace Collection 7 { 8 class Program 9 { 10 static void Main(string[] args) 11 { 12 int[] x = { 6,7,8,9,10}; 13

Java求字符串数组交集 并集 差集 去重复并集

//系统方法 package com; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class Test { public static void main(String[] args) { List list1 =new ArrayList(); list1.add("1111"); list1.add("2222"); list1.add

js Array 交集 并集 差集 去重

最劲项目需要用到js数组去重和交集的一些运算,我的数组元素个数可能到达1000以上,网上的实现方式都是2次循环,性能不适合我的需求,1000*1000那循环次数太多了,所以我这里采用对象object来做处理,用空间换时间,code 如下: ///集合取交集 Array.intersect = function () { var result = new Array(); var arrCount = arguments.length;/*数组个数,默认2个数组取交集*/ if (arrCount

求数组差/交集函数-php数组函数(二)

求数组差集函数 函数只检查了多维数组中的一维.可以用 array_diff($array1[0], $array2[0]) 检查更深的维度. u:自定义函数比较,a(association):同时比较键和值. 自定义函数callable $value_compare_func必须返回一个小于零,等于零,或大于零的整数.其中返回零代表两个数相等. 对比数组值的函数 array_diff 对比(===) array1,array2···的值(value),返回在 $array1 中但是不在其他 ar

求两个数组的交集

问题: 给你两个排序的数组,求两个数组的交集. 比如: A = 1 3 4 5 7, B = 2 3 5 8 9, 那么交集就是 3 5. 思路: 1. 每一次从B数组中取一值,然后在A数组里逐个比较,如果有相等的,则保存.该算法复杂度为 O(MN). M, N 分别为数组 A B 的长度. 2. 因为A B 都排过序,所以,每一次从B数组取值后,可以利用二分查找看是否在数组A里有B所对应的值,这样复杂度变成了O(N lg M). 这里,如果N 比 M 大,可以从A中取值,然后在B中判断是否有A