首頁 >後端開發 >PHP問題 >php怎麼比較多個陣列中是否有重複值

php怎麼比較多個陣列中是否有重複值

青灯夜游
青灯夜游原創
2022-07-28 19:23:231992瀏覽

比較步驟:1、利用array_intersect()函數比較多個數組,取得數組的重複值(交集元素),語法“array_intersect(數組1,數組2,數組3...)”,會傳回一個交集數組;2、判斷交集數組是否為空,語法“交集數組===[]”,如果為空則多個數組中沒有重複值,如果不為空則多個數組中有重複值。

php怎麼比較多個陣列中是否有重複值

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

比較多個數組,判斷多個陣列是否有重複值,就是判斷多個陣列是否有交集元素。

判斷步驟:

步驟1:利用array_intersect()函數比較多個數組,取得數組的重複值(交集元素)

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

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

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$arr1=array(0,1,2,3,4,5,6,7,8,9);
$arr2=array(0,2,4,6,8,10,12,14,16);
$arr3=array(0,2,4,8,16,32);
var_dump($arr1);
var_dump($arr2);
var_dump($arr3);
echo "多个数组的重复元素:";
$intersect=array_intersect($arr1,$arr2,$arr3);
var_dump($intersect);
?>

php怎麼比較多個陣列中是否有重複值

步驟2:判斷交集陣列是否為空

交集数组===[]
  • 如果為空,則多個陣列中沒有重複值

  • 如果不為空,則多個陣列中有重複值

完整範例實作程式碼:

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$arr1=array(0,1,2,3,4,5,6,7,8,9);
$arr2=array(0,2,4,6,8,10,12,14,16);
$arr3=array(0,2,4,8,16,32);
var_dump($arr1);
var_dump($arr2);
var_dump($arr3);
$intersect=array_intersect($arr1,$arr2,$arr3);

if($intersect===[]){
	echo "多个数组中没有重复元素";
}else{
	echo "多个数组中有重复元素";
}
?>

php怎麼比較多個陣列中是否有重複值

推薦學習:《PHP影片教學

以上是php怎麼比較多個陣列中是否有重複值的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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