php数组求交集,php 数组取交集

本文目录一览:

PHP两个数组的交集?

你这个搞得是不是太复杂了。请使用array_diff比较数组,返回不同,再计算交集。

PHP中的常用数组操作方法有哪些

PHP中的常用数组操作方法(每种都给你举个2个例子)

一、数组操作的基本函数

数组的键名和值

array_values($arr);  获得数组的值

array_keys($arr);  获得数组的键名

数组的内部指针

current($arr);  返回数组中的当前单元

pos($arr);  返回数组中的当前单元

数组和变量之间的转换

extract($arr);用于把数组中的元素转换成变量导入到当前文件中,键名当作变量名,值作为变量值

注:(第二个参数很重要,可以看手册使用)使用方法

echo $a;compact(var1,var2,var3);用给定的变量名创建一个数组

二、数组的分段和填充

数组的分段

array_slice($arr,0,3);  可以将数组中的一段取出,此函数忽略键名

array_splice($arr,0,3,array(“black”,”maroon”));  可以将数组中的一段取出,与上个函数不同在于返回的序列从原数组中删除

分割多个数组

array_chunk($arr,3,TRUE);  可以将一个数组分割成多个,TRUE为保留原数组的键名

数组的填充

array_pad($arr,5,’x’);  将一个数组填补到制定长度

三、数组与栈

array_push($arr,”apple”,”pear”);  将一个或多个元素压入数组栈的末尾(入栈),返回入栈元素的个数

array_pop($arr);  将数组栈的最后一个元素弹出(出栈)

四、数组与列队

array_shift($arr);数组中的第一个元素移出并作为结果返回(数组长度减1,其他元素向前移动一位,数字键名改为从零技术,文字键名不变)

array_unshift($arr,”a”,array(1,2));在数组的开头插入一个或多个元素

五、回调函数

array_walk($arr,’function’,’words’);  使用用户函数对数组中的每个成员进行处理(第三个参数传递给回调函数function)

array_mpa(“function”,$arr1,$arr2);  可以处理多个数组(当使用两个或更多数组时,他们的长度应该相同)

六、数组的排序

通过元素值对数组排序

sort($arr);  由小到大的顺序排序(第二个参数为按什么方式排序)忽略键名的数组排序

rsort($arr);  由大到小的顺序排序(第二个参数为按什么方式排序)忽略键名的数组排序

通过键名对数组排序

ksort($arr);  按照键名正序排序

krsort($arr);  按照键名逆序排序

七、数组的计算

数组元素的求和

array_sum($arr);  对数组内部的所有元素做求和运算

数组的合并

array_merge($arr1,$arr2);  合并两个或多个数组(相同的字符串键名,后面的覆盖前面的,相同的数字键名,后面的不会做覆盖操作,而是附加到后面)

“+”$arr1+$arr2;  对于相同的键名只保留后一个

数组的差集

array_diff($arr1,$arr2);  返回差集结果数组

array_diff_assoc($arr1,$arr2,$arr3);  返回差集结果数组,键名也做比较

数组的交集

array_intersect($arr1,$arr2);  返回交集结果数组

array_intersect_assoc($arr1,$arr2);  返回交集结果数组,键名也做比较

八、其他的数组函数

range(0,12);  创建一个包含指定范围单元的数组

array_unique($arr);  移除数组中重复的值,新的数组中会保留原始的键名

php里说出数组的常用函数及用法?

PHP常用操作数组的函数

变量和数组的转换

compact() 将变量整合成数组

extract() 将数组中的每个值以键的名分解成变量

变量和字符串转换

explode() 以某个子串分解字符串成数组

implode() 将一维数组根据某个符号拼接成字符串

数组与数组之间关系

array_merge() 合并/并集

array_diff() 差集

array_intersect() 交集

数组值的操作

array_pop() 删除(弹出)数组最后一个值

array_push() 向数组中追加一个值

判断数组是否存在数组中

in_array() 判断一个值是否存在数组中

array_key_exists() 判断键是否存在数组中

数组去重

array_unique() 数组去重

获取二维数组中的值的集合

array_column() 获取二维数组中的值的集合

提取数组的键与值

array_values 提取数组的值构成一维数组

array_keys 提取数组的键构成一维数组

返回数组中的随机的键

array_rand() 返回数组中的随机的键

返回数组中值的数量

count() 返回数组中值的和

查询数组中的值

array_search() 查询数组中的值是否存在/in_array()有点相似

排序

sort() 排序有很多种,按键或值升降序

array_multisort() 多维数组排序

分割数组

array_chunk()

php 常用的数组函数都有哪些? 作用是什么?有什么特点? 怎么使用?

php常用的数组函数的作用特点如下:

array_change_key_case       — 返回字符串键名全为小写或大写的数组

array_chunk                 — 将一个数组分割成多个

array_combine           — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值

array_count_values      — 统计数组中所有的值出现的次数

array_diff_assoc        — 带索引检查计算数组的差集

array_diff_key          — 使用键名比较计算数组的差集

array_diff_uassoc       — 用用户提供的回调函数做索引检查来计算数组的差集

array_diff_ukey         — 用回调函数对键名比较计算数组的差集

array_diff              — 计算数组的差集

array_fill_keys         — 使用指定的键和值填充数组

array_fill              — 用给定的值填充数组

array_filter            — 用回调函数过滤数组中的单元

array_flip              — 交换数组中的键和值

array_intersect_assoc   — 带索引检查计算数组的交集

array_intersect_key     — 使用键名比较计算数组的交集

array_intersect_uassoc  — 带索引检查计算数组的交集,用回调函数比较索引

array_intersect_ukey    — 用回调函数比较键名来计算数组的交集

array_intersect         — 计算数组的交集

array_key_exists        — 检查给定的键名或索引是否存在于数组中

array_keys              — 返回数组中所有的键名

array_map               — 将回调函数作用到给定数组的单元上

array_merge_recursive   — 递归地合并一个或多个数组

array_merge             — 合并一个或多个数组

array_multisort         — 对多个数组或多维数组进行排序

array_pad               — 用值将数组填补到指定长度

array_pop               — 将数组最后一个单元弹出(出栈)

array_product           — 计算数组中所有值的乘积

array_push              — 将一个或多个单元压入数组的末尾(入栈)

array_rand              — 从数组中随机取出一个或多个单元

array_reduce            — 用回调函数迭代地将数组简化为单一的值

array_replace_recursive — 使用传递的数组递归替换第一个数组的元素

array_replace           — 使用传递的数组替换第一个数组的元素

array_reverse           — 返回一个单元顺序相反的数组

array_search            — 在数组中搜索给定的值,如果成功则返回相应的键名

array_shift             — 将数组开头的单元移出数组

array_slice             — 从数组中取出一段

array_splice            — 把数组中的一部分去掉并用其它值取代

array_sum               — 计算数组中所有值的和

array_udiff_assoc       — 带索引检查计算数组的差集,用回调函数比较数据

array_udiff_uassoc      — 带索引检查计算数组的差集,用回调函数比较数据和索引

array_udiff             — 用回调函数比较数据来计算数组的差集

array_uintersect_assoc  — 带索引检查计算数组的交集,用回调函数比较数据

array_uintersect_uassoc — 带索引检查计算数组的交集,用回调函数比较数据和索引

array_uintersect        — 计算数组的交集,用回调函数比较数据

array_unique            — 移除数组中重复的值

array_unshift           — 在数组开头插入一个或多个单元

array_values            — 返回数组中所有的值

array_walk_recursive    — 对数组中的每个成员递归地应用用户函数

array_walk              — 对数组中的每个成员应用用户函数

array                   — 新建一个数组

arsort                  — 对数组进行逆向排序并保持索引关系

asort                   — 对数组进行排序并保持索引关系

compact                 — 建立一个数组,包括变量名和它们的值

count                   — 计算数组中的单元数目或对象中的属性个数

current                 — 返回数组中的当前单元

each                    — 返回数组中当前的键/值对并将数组指针向前移动一步

end                     — 将数组的内部指针指向最后一个单元

extract                 — 从数组中将变量导入到当前的符号表

in_array                — 检查数组中是否存在某个值

key                     — 从关联数组中取得键名

krsort                  — 对数组按照键名逆向排序

ksort                   — 对数组按照键名排序

list                    — 把数组中的值赋给一些变量

natcasesort             — 用“自然排序”算法对数组进行不区分大小写字母的排序

natsort                 — 用“自然排序”算法对数组排序

next                    — 将数组中的内部指针向前移动一位

pos                     — current 的别名

prev                    — 将数组的内部指针倒回一位

range                   — 建立一个包含指定范围单元的数组

reset                   — 将数组的内部指针指向第一个单元

rsort                   — 对数组逆向排序

shuffle                 — 将数组打乱

sizeof                  — count 的别名

sort                    — 对数组排序

uasort                  — 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联

uksort                  — 使用用户自定义的比较函数对数组中的键名进行排序

usort                   — 使用用户自定义的比较函数对数组中的值进行排序

关于如何使用,那是要根据使用者需求来衡量,不能一言概括

使用语法如下:

?php

    $arr = array(‘Hello’,’World!’);

    $arr = implode(‘,’,$arr);

    

    echo $arr;

?

结果是:HelloWorld!

如果你想更多的了解php的数组函数,我建议你详细地去看看php手册

php手册官网:

php 多个多维数组求交集

array_intersect

(PHP 4 = 4.0.1, PHP 5)

array_intersect — 计算数组的交集说明

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

array_intersect() 返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。注意键名保留不变。

例子 1. array_intersect() 例子

?php

$array1 = array (“a” = “green”, “red”, “blue”);

$array2 = array (“b” = “green”, “yellow”, “red”);

$result = array_intersect ($array1, $array2);

?

这使得 $result 成为:

Array

(

[a] = green

[0] = red

)

注: 两个单元仅在 (string) $elem1 === (string) $elem2 时被认为是相同的。也就是说,当字符串的表达是一样的时候。

array_diff

(PHP 4 = 4.0.1, PHP 5)

array_diff — 计算数组的差集说明

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

array_diff() 返回一个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。注意键名保留不变。

例子 1. array_diff() 例子

?php

$array1 = array (“a” = “green”, “red”, “blue”, “red”);

$array2 = array (“b” = “green”, “yellow”, “red”);

$result = array_diff ($array1, $array2);

?

这使得 $result 成为 array (1 = “blue”);。在 $array1 中多次出现的值同样对待。

注: 两个单元仅在 (string) $elem1 === (string) $elem2 时被认为是相同的。也就是说,当字符串的表达是一样的时候。

注: 注意此函数仅检查多维数组中的一维。当然你可以用 array_diff($array1[0], $array2[0]); 检查更深的维度。

array_diff_assoc — 带索引检查计算数组的差集

说明

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

array_diff_assoc() 返回一个 array,返回一个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。注意和 array_diff() 不同的是键名也用于比较。

例子 1. array_diff_assoc() 例子

?php

$array1 = array (“a” = “green”, “b” = “brown”, “c” = “blue”, “red”);

$array2 = array (“a” = “green”, “yellow”, “red”);

$result = array_diff_assoc($array1, $array2);

?

上面的例子中可以看到键值对 “a” = “green” 在两个数组中都有,因此不在本函数的输出中。与此不同,键值对 0 = “red” 出现在输出中是因为第二个参数中的 “red” 的键名是 1。

键值对 key = value 中的两个值仅在 (string) $elem1 === (string) $elem2 时被认为相等。也就是说使用了严格检查,字符串的表达必须相同。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/152882.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-11-13 06:08
下一篇 2024-11-13 06:08

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • Python导入数组

    本文将为您详细阐述Python导入数组的方法、优势、适用场景等方面,并附上代码示例。 一、numpy库的使用 numpy是Python中一个强大的数学库,其中提供了非常丰富的数学函…

    编程 2025-04-29
  • Python返回数组:一次性搞定多种数据类型

    Python是一种多用途的高级编程语言,具有高效性和易读性的特点,因此被广泛应用于数据科学、机器学习、Web开发、游戏开发等各个领域。其中,Python返回数组也是一项非常强大的功…

    编程 2025-04-29
  • Python去掉数组的中括号

    在Python中,被中括号包裹的数据结构是列表,列表是Python中非常常见的数据类型之一。但是,有些时候我们需要将列表展开成一维的数组,并且去掉中括号。本文将为大家详细介绍如何用…

    编程 2025-04-29
  • Python操作数组

    本文将从多个方面详细介绍如何使用Python操作5个数组成的列表。 一、数组的定义 数组是一种用于存储相同类型数据的数据结构。Python中的数组是通过列表来实现的,列表中可以存放…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • Python二维数组对齐输出

    本文将从多个方面详细阐述Python二维数组对齐输出的方法与技巧。 一、格式化输出 Python中提供了格式化输出的方法,可以对输出的字符串进行格式化处理。 names = [‘A…

    编程 2025-04-29
  • Java创建一个有10万个元素的数组

    本文将从以下方面对Java创建一个有10万个元素的数组进行详细阐述: 一、基本介绍 Java是一种面向对象的编程语言,其强大的数组功能可以支持创建大规模的多维数组以及各种复杂的数据…

    编程 2025-04-28
  • Python数组随机分组用法介绍

    Python数组随机分组是一个在数据分析与处理中常用的技术,它可以将一个大的数据集分成若干组,以便于进行处理和分析。本文将从多个方面对Python数组随机分组进行详细的阐述,包括使…

    编程 2025-04-28
  • Python数组索引位置用法介绍

    Python是一门多用途的编程语言,它有着非常强大的数据处理能力。数组是其中一个非常重要的数据类型之一。Python支持多种方式来操作数组的索引位置,我们可以从以下几个方面对Pyt…

    编程 2025-04-28

发表回复

登录后才能评论