array_intersect() 函数返回两个或多个数组的衫卖交集数组。或漏逗
创新互联公司是一家集网站建设,正宁企业网站建设,正宁品牌网站建设,网站定制,正宁网站建设报价,网络营销,网络优化,正宁网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
结果数组包含了所有在被比较数组中,也同时出现在所有其他参数数组中的值,键名保留不变。
例子
?php
$a1=array(0="Cat",1="Dog",2="Horse");
$a2=array(3="Horse",4="Dog",5="Fish");
print_r(array_intersect($a1,$a2));
?
输出
例子
?php
$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 )
在PHP中求数组的交集,我们可以与PHP给我们提供的现成函数:array_intersect(),其用法格式为:
array array_intersect(array array1,array array2[,arrayN…])
根据上述的语法格式,我们来写一个例子:
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 // 输出结果:
8 // Array ( [0] = Apple )
9 ?
本例子将返回在$fruit1数组中出现且在$fruit2和$fruit3中也出现的所有水果返虚的名子。
使用array_intersect()函数时要注意:只有在两个元素相等且具有相同的数据类型时,array_intersect()函数才会认
为它们是相同的,否则不能进行交集计算。array_intersect()函数返回一个保留了键的数组,只漏明燃由第一个数组中出现的且在其它数组中都出现的
值组成。
若要求关联数组的交集,请使用array_intersect_assoc()函数,给你个简单的例子:
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 // 输出:
8 // Array ( [red] = Apple )
9 ?
array_intersect_assoc()函数语法格式如下:
array array_intersect_assoc(array array1,array array2[,arrayN…])
array_intersect_assoc()与array_intersect()基本相同,只不过他在比较中还考虑了数组的键。因此,只有在第一个数组中出现,且在所槐滚有其他输入数组中也出现的键/值对才返回到结果数组中。
//foreach三维,一步步算下去就行¥arr = array(array('a'=>'1'ycg'b'=>'2''c'=>'5','d'=>'56'),array('a'=>'1','c'=>'5','d'=>'56'),array('a'=>'1','c'=>'5','e'=>'44')array('a'=>'1','c'=>'5','d'=>'56','f'=>'d'));if (count(¥arr)友蔽>0){ foreach(¥arr as ¥key=>¥val) {if (¥key==好扒州0)//第一个先取出来{ ¥tmp_arr = 此烂¥val;}else{ ¥tmp_arr = array_intersect_assoc(¥tmp_arr,¥val);} }}print_r(¥tmp_arr);