首頁 > 後端開發 > PHP問題 > php中兩個陣列求交集的函數有哪些

php中兩個陣列求交集的函數有哪些

青灯夜游
發布: 2023-03-15 22:32:01
原創
3321 人瀏覽過

有8個交集函數:1、array_intersect(),只比較鍵值;2、array_intersect_assoc(),比較鍵名和鍵值;3、array_intersect_key(),只比較鍵名;4、array_uintersect( )等。

php中兩個陣列求交集的函數有哪些

本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦

php中提供例如多個求陣列交集的函數:

  • array_intersect():比較數組,傳回兩個陣列的交集(只比較鍵值)。

  • array_intersect_assoc():比較數組,傳回兩個數組的交集(比較鍵名和鍵值)。

  • array_intersect_key():比較數組,傳回兩個數組的交集(只比較鍵名)。

  • array_intersect_uassoc():比較數組,傳回兩個數組的交集(比較鍵名和鍵值,使用使用者自訂比較函數)。

  • array_intersect_ukey():比較數組,傳回兩個數組的交集(只比較鍵名,使用使用者自訂比較函數)。

  • array_uintersect():比較數組,傳回兩個數組的交集(只比較鍵值,使用一個使用者自訂比較函數)。

  • array_uintersect_assoc():比較數組,傳回兩個數組的交集(比較鍵名和鍵值,使用內建函數比較,使用使用者自訂函數比較鍵值)。

  • array_uintersect_uassoc():比較數組,傳回兩個數組的交集(比較鍵名和鍵值,使用兩個使用者自訂的比較函數)。

下面介紹常用求數組交集的比較函數

1、array_intersect()函數

array_intersect() 函數用於比較兩個(或更多)數組的值,並傳回交集。

該函數比較兩個(或更多)數組的值,並傳回一個交集數組,該數組包含了所有在 array1 中也同時出現在所有其它參數數組中的值。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"blue");
 
$result=array_intersect($a1,$a2);
var_dump($result);
?>
登入後複製

php中兩個陣列求交集的函數有哪些

2、array_intersect_assoc()函數

array_intersect_assoc() 函數用於比較兩個(或更多)數組的鍵名和鍵值,並傳回交集。

該函數比較兩個(或更多個)數組的鍵名和鍵值,並傳回一個交集數組,該數組包括了所有在被比較的數組(array1)中,同時也在任何其他參數陣列(array2 或 array3 等等)中的鍵名和鍵值。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"red","b"=>"green","c"=>"blue");

$result=array_intersect_assoc($a1,$a2);
var_dump($result);
?>
登入後複製

php中兩個陣列求交集的函數有哪些

3、array_intersect_key()函數

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"red","c"=>"blue","d"=>"pink");

$result=array_intersect_key($a1,$a2);
var_dump($result);
?>
登入後複製

php中兩個陣列求交集的函數有哪些

說明:不常用的比較函數

  • array_intersect_uassoc()

  • array_intersect_ukey()

  • #array_uintersect()

  • array_uintersect_assoc()

  • #array_uintersect_uassoc()

php中兩個陣列求交集的函數有哪些

####################################它們都使用使用者自訂函數來比較函數######範例:###
<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
function myfunction($a,$b)
{
if ($a===$b)
{
return 0;
}
return ($a>$b)?1:-1;
}

$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("d"=>"red","b"=>"green","e"=>"blue");

$result=array_intersect_uassoc($a1,$a2,"myfunction");
var_dump($result);
?>
登入後複製
#############推薦學習:《###PHP影片教學###》## #

以上是php中兩個陣列求交集的函數有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板