三種方法:1、用array_intersect()比較鍵值獲取交集,語(yǔ)法“array_intersect(數(shù)組1,數(shù)組2)”;2、用array_intersect_key()比較鍵名獲取交集,語(yǔ)法“array_intersect_key(數(shù)組1,數(shù)組2)”;3、比較鍵名和鍵值獲取交集,語(yǔ)法“array_intersect_assoc(數(shù)組1,數(shù)組2)”。
php入門到就業(yè)線上直播課:進(jìn)入學(xué)習(xí)
API 文檔、設(shè)計(jì)、調(diào)試、自動(dòng)化測(cè)試一體化協(xié)作工具:點(diǎn)擊使用
本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦
PHP提供了多個(gè)函數(shù)來比較兩個(gè)數(shù)組求交集,下面主要介紹常用的三個(gè)函數(shù):array_intersect()、array_intersect_assoc()和array_intersect_key()。
好了,進(jìn)入主題!我們有下面兩個(gè)數(shù)組:
$arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $arr2=array("a"=>"orange","b"=>"green","e"=>"pink","r"=>"yellow");
下面我們通過代碼示例來分別看看array_intersect()、array_intersect_assoc()和array_intersect_key()是如何比較數(shù)組求交集的。
1、array_intersect()函數(shù)–比較數(shù)組的鍵值
"red","b"=>"green","c"=>"blue","d"=>"yellow"); $arr2=array("a"=>"orange","b"=>"green","e"=>"pink","r"=>"yellow"); $result=array_intersect($arr1,$arr2); var_dump($result); ?>
array_intersect($arr1,$arr2...)
函數(shù)只比較數(shù)組的鍵值,然后返回一個(gè)交集數(shù)組,該數(shù)組中包含了所有在被比較的數(shù)組$arr1
中,同時(shí)也在任何其他參數(shù)數(shù)組$arr2...
中的值。(交集數(shù)組中的元素都是選用被比較的數(shù)組$arr1中的元素)
$arr1數(shù)組和$arr2數(shù)組中都存在的鍵值有2個(gè):“green
”和“yellow
”,然后從被比較的數(shù)組$arr1中選取交集元素,因此輸出的結(jié)果為:
2、array_intersect_key()函數(shù)–比較數(shù)組的鍵名
"red","b"=>"green","c"=>"blue","d"=>"yellow"); $arr2=array("a"=>"orange","b"=>"green","e"=>"pink","r"=>"yellow"); $result=array_intersect_key($arr1,$arr2); var_dump($result); ?>
array_intersect_key($arr1,$arr2...)
只比較數(shù)組的鍵名,然后返回一個(gè)交集數(shù)組,交集元素會(huì)根據(jù)鍵名從被比較的數(shù)組$arr1
中選取的。
我們來看看上面的示例,$arr1
數(shù)組和$arr2
數(shù)組中都存在的鍵名有2個(gè):“a
”和“b
”,然后根據(jù)鍵名從被比較的數(shù)組$arr1
中選取元素,因此輸出的結(jié)果為:
3、array_intersect_assoc()函數(shù)–比較數(shù)組的鍵名和鍵值
"red","b"=>"green","c"=>"blue","d"=>"yellow"); $arr2=array("a"=>"orange","b"=>"green","e"=>"pink","r"=>"yellow"); $result=array_intersect_assoc($arr1,$arr2); var_dump($result); ?>
array_intersect_assoc($arr1,$arr2…)會(huì)比較數(shù)組的鍵名和鍵值,然后返回一個(gè)交集數(shù)組。
在上面的示例中,$arr1數(shù)組和$arr2數(shù)組中鍵名和鍵值都相同的元素只有一個(gè):“"b"=>"green"
”,因此輸出的結(jié)果為:
推薦學(xué)習(xí):《PHP視頻教程》