PHP数组交集函数:array_intersect与array_intersect_assoc

一、array_intersect()

 

定义和用法

array_intersect() 函数用于比较两个(或更多个)数组的键值,并返回交集。

该函数比较两个(或更多个)数组的键值,并返回交集数组,该数组包括了所有在被比较的数组(array1)中,同时也在任何其他参数数组(array2 或 array3 等等)中的键值。

 

说明

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

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

注释:仅用于值比较。

 

语法

array_intersect(array1,array2,array3...arrayn);

 

参数

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

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

array3,... 可选。与第一个数组进行比较的其他数组。

 

案例1:

  1. <?php
  2. $fruit1 = array("Apple","Banana","Orange");
  3. $fruit2 = array("Pear","Apple","Grape");
  4. $fruit3 = array("Watermelon","Orange","Apple");
  5. $intersection = array_intersect($fruit1$fruit2$fruit3);
  6. print_r($intersection);
  7. ?>

 

输出结果:

Array ( [0] => Apple )

 

案例2:

  1. <?php
  2. $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
  3. $a2=array("e"=>"red","f"=>"black","g"=>"purple");
  4. $a3=array("a"=>"red","b"=>"black","h"=>"yellow");
  5. $result=array_intersect($a1,$a2,$a3);
  6. print_r($result);
  7. ?>

 

输出结果:

Array ( [a] => red )

 

array_intersect_assoc

 

二、array_intersect_assoc()

 

定义和用法

array_intersect_assoc() 函数用于比较两个(或更多个)数组的键名和键值,并返回交集。

该函数比较两个(或更多个)数组的键名和键值,并返回交集数组,该数组包括了所有在被比较的数组(array1)中,同时也在任何其他参数数组(array2 或 array3 等等)中的键名和键值。

 

说明

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

与 array_intersect() 函数 不同的是,本函数除了比较键值,还比较键名。返回的数组中元素的键名保持不变。

 

语法

array_intersect_assoc(array1,array2,array3...arrayn)

 

参数

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

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

array3,... 可选。与第一个数组进行比较的其他数组。

 

案例一:

  1. <?php
  2. $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
  3. $a2=array("a"=>"red","b"=>"green","g"=>"blue");
  4. $a3=array("a"=>"red","b"=>"green","g"=>"blue");
  5. $result=array_intersect_assoc($a1,$a2,$a3);
  6. print_r($result);
  7. ?>

 

运行结果:

Array ( [a] => red [b] => green )

 

案例二:

  1. <?php
  2. $fruit1 = array("red"=>"Apple","yellow"=>"Banana","orange"=>"Orange");
  3. $fruit2 = array("yellow"=>"Pear","red"=>"Apple","purple"=>"Grape");
  4. $fruit3 = array("green"=>"Watermelon","orange"=>"Orange","red"=>"Apple");
  5. $intersection = array_intersect_assoc($fruit1$fruit2$fruit3);
  6. print_r($intersection);
  7. ?>

 

运行结果:

Array ( [red] => Apple )

    A+
发布日期:2017年09月14日 14:56:26  所属分类:PHP函数
最后更新时间:2019-01-05 18:34:32
付杰
  • ¥ 98.0元
  • 市场价:198.0元
  • ¥ 199.0元
  • 市场价:899.0元
  • ¥ 1999.9元
  • 市场价:8999元
  • ¥ 29.0元
  • 市场价:99.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: