首頁  >  文章  >  後端開發  >  PHP數組學習如何比較兩個數組求交集

PHP數組學習如何比較兩個數組求交集

青灯夜游
青灯夜游原創
2021-08-03 19:09:402107瀏覽

在先前的文章《PHP字串學習之比較兩個字串》中,我們介紹了比較兩個字串的方法。字串和陣列都是PHP中重要的資料類型,我們不僅要了解比較字串的方法,也要了解比較陣列的方法。以下為大家介紹比較數組,並傳回相同元素(交集)的方法。

首先我們要知道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中選取交集元素,因此輸出的結果為:

PHP數組學習如何比較兩個數組求交集

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

array_intersect_key($arr1,$arr2...)只比較陣列的鍵名,然後傳回交集數組,交集元素會根據鍵名從被比較的數組$arr1中選取的。

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

PHP數組學習如何比較兩個數組求交集

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

array_intersect_assoc($arr1,$arr2...)會比較陣列的鍵名和鍵值,然後傳回一個交集數組。

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

PHP數組學習如何比較兩個數組求交集

好了就說到這裡了,有其他想知道的,可以點選這個喔。 → →php影片教學

最後推薦給大家一個PHP陣列的免費影片教學:PHP函數之array陣列函數影片講解,快來學習吧!

以上是PHP數組學習如何比較兩個數組求交集的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn