php兩個陣列怎麼求交集

2022-09-29 22:01:03

三種方法:1、用array_intersect()比較鍵值獲取交集,語法「array_intersect(陣列1,陣列2)」;2、用array_intersect_key()比較鍵名獲取交集,語法「array_intersect_key(陣列1,陣列2)」;3、比較鍵名和鍵值獲取交集,語法「array_intersect_assoc(陣列1,陣列2)」。

php入門到就業線上直播課:進入學習
API 檔案、設計、偵錯、自動化測試一體化共同作業工具:

本教學操作環境: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");
登入後複製

1.png

下面我們通過程式碼範例來分別看看array_intersect()、array_intersect_assoc()和array_intersect_key()是如何比較陣列求交集的。

1、array_intersect()函數--比較陣列的鍵值

<?php
header("Content-type:text/html;charset=utf-8");
$arr1=array("a"=>"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...)函數只比較陣列的鍵值,然後返回一個交集陣列,該陣列中包含了所有在被比較的陣列$arr1中,同時也在任何其他引數陣列$arr2...中的值。(交集陣列中的元素都是選用被比較的陣列$arr1中的元素)

$arr1陣列和$arr2陣列中都存在的鍵值有2個:「green」和「yellow」,然後從被比較的陣列$arr1中選取交集元素,因此輸出的結果為:

3.png

2、array_intersect_key()函數--比較陣列的鍵名

<?php
header("Content-type:text/html;charset=utf-8");
$arr1=array("a"=>"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...)只比較陣列的鍵名,然後返回一個交集陣列,交集元素會根據鍵名從被比較的陣列$arr1中選取的。

我們來看看上面的範例,$arr1陣列和$arr2陣列中都存在的鍵名有2個:「a」和「b」,然後根據鍵名從被比較的陣列$arr1中選取元素,因此輸出的結果為:

3.png

3、array_intersect_assoc()函數--比較陣列的鍵名和鍵值

<?php
header("Content-type:text/html;charset=utf-8");
$arr1=array("a"=>"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...)會比較陣列的鍵名和鍵值,然後返回一個交集陣列。

在上面的範例中,$arr1陣列和$arr2陣列中鍵名和鍵值都相同的元素只有一個:「"b"=>"green"」,因此輸出的結果為:

4.png

推薦學習:《》

以上就是php兩個陣列怎麼求交集的詳細內容,更多請關注TW511.COM其它相關文章!