Heim  >  Artikel  >  php教程  >  php计算两数组交集两个函数

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

WBOY
WBOYOriginal
2016-06-06 19:46:561246Durchsuche

欢迎进入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计算两数组交集两个函数

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn