三種方法:1、用array_intersect()比較鍵值取得交集,語法「array_intersect(數組1,陣列2)」;2、用array_intersect_key()比較鍵名取得交集,語法「array_intersect_key(數組1,數組2)”;3、比較鍵名和鍵值獲取交集,語法“array_intersect_assoc(數組1,數組2)”。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
PHP提供了多個函數來比較兩個陣列求交集,以下主要介紹常用的三個函數:array_intersect()、array_intersect_assoc()和array_intersect_key()。
好了,進入主題!我們有下面兩個陣列:
$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()是如何比較陣列求交集的。
1、array_intersect()函數--比較陣列的鍵值
array_intersect($arr1,$arr2...)
函數只比較數組的鍵值,然後傳回一個交集數組,該數組包含了所有在被比較的數組$arr1
中,同時也在任何其他參數數組$arr2...
中的值。 (交集數組中的元素都是選用被比較的數組$arr1中的元素)
$arr1數組和$arr2數組中都存在的鍵值有2個:“green
”和“yellow
”,然後從被比較的陣列$arr1中選取交集元素,因此輸出的結果為:
2 、array_intersect_key()函數--比較陣列的鍵名
array_intersect_key($arr1,$arr2...)
只比較陣列的鍵名,然後傳回一個交集數組,交集元素會根據鍵名從被比較的數組$arr1
中選取的。
我們來看看上面的範例,$arr1
陣列和$arr2
陣列中都存在的鍵名有2個:「a
”和“b
”,然後根據鍵名從被比較的數組$arr1
#中選取元素,因此輸出的結果為:
3、array_intersect_assoc()函數--比較陣列的鍵名和鍵值
array_intersect_assoc($arr1,$arr2...)會比較陣列的鍵名和鍵值,然後傳回一個交集數組。
在上面的範例中,$arr1數組和$arr2數組中鍵名和鍵值都相同的元素只有一個:“"b"=>"green"
”,因此輸出的結果為:
推薦學習:《PHP影片教學》
以上是php兩個陣列怎麼求交集的詳細內容。更多資訊請關注PHP中文網其他相關文章!