>  기사  >  php教程  >  php计算两数组交集两个函数

php计算两数组交集两个函数

WBOY
WBOY원래의
2016-06-06 19:46:561277검색

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 使用 array_intersect 求两个数组的交集比使用 array_diff 求同样两个数组的并集要快。 如果要求数组 $a 与数组 $b 的差集的个数,应该使用 count($a) - count(array_intersect($a, $b)),而不

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

  使用 array_intersect 求两个数组的交集比使用 array_diff 求同样两个数组的并集要快。

  如果要求数组 $a 与数组 $b 的差集的个数,应该使用 count($a) - count(array_intersect($a, $b)),而不要用 count(array_diff($a, $b));

  前面要比后者快,在大数组中更为明显。

  array_intersect() 函数返回两个或多个数组的交集数组。

  结果数组包含了所有在被比较数组中,也同时出现在所有其他参数数组中的值,键名保留不变。

  注释:仅有值用于比较。

  语法

  array_intersect(array1,array2,array3…)参数 描述

  array1 必需。与其他数组进行比较的第一个数组。

  array2 必需。与第一个数组进行比较的数组。

  array3 可选。与第一个数组进行比较的数组。可以有多个。

  实例

  

  $a1=array(0=>"Cat",1=>"Dog",2=>"Horse");

  $a2=array(3=>"Horse",4=>"Dog",5=>"Fish");

  print_r(array_intersect($a1,$a2));

  ?>

  输出:Array ( [1] => Dog [2] => Horse )

  array_diff() 函数返回两个数组的差集数组。该数组包括了所有在被比较的数组中,但是不在任何其他参数数组中的键值。

  在返回的数组中,键名保持不变。

  语法

  array_diff(array1,array2,array3…)参数 描述

  array1 必需。与其他数组进行比较的第一个数组。

  array2 必需。与第一个数组进行比较的数组。

  array3 可选。与第一个数组进行比较的数组。

  提示和注释

  提示:可用一个或任意多个数组与第一个数组进行比较。

  注释:仅有值用于比较。

  实例

  

  $a1=array(0=>"Cat",1=>"Dog",2=>"Horse");

  $a2=array(3=>"Horse",4=>"Dog",5=>"Fish");

  print_r(array_diff($a1,$a2));

  ?>

  输出:Array ( [0] => Cat )

php计算两数组交集两个函数

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.