實作步驟:1、用array_intersect()比較兩個數組並取得相同元素,語法“array_intersect(原始數組1,原始數組2)”,會傳回一個包含相同元素的交集數組;2、用array_diff()分別將兩個原數組和交集數組進行對比,刪除相同元素,獲取不相同的元素,語法“array_diff(原數組1,交集數組)”和“array_diff(原數組2,交集數組)” 。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
在php中,可以利用array_intersect ()和array_diff()函數來比較兩個數組並去除相同的元素
實現步驟:
步驟1:利用array_intersect()函數比較兩個陣列並取得相同元素
array_intersect()函數可以比較兩個陣列的值,並傳回包含相同元素的交集陣列。
array_intersect(array1,array2);
參數 | 描述 |
---|---|
#array1 | 必要。與其他數組進行比較的第一個數組。 |
array2 | 必要。與第一個數組進行比較的數組。 |
傳回值:傳回交集數組,該數組包含了所有在被比較的數組(array1)中,同時也在任何其他參數數組(array2 )中的鍵值。
<?php header('content-type:text/html;charset=utf-8'); $arr1=array(1,2,3,4,5,6); $arr2=array(2,4,6,8,10,12); var_dump($arr1); var_dump($arr2); $intersect=array_intersect($arr1,$arr2); echo "相同元素有:"; var_dump($intersect); ?>
步驟2:利用array_diff()函數刪除兩個陣列的相同元素
使用array_diff()函數分別將兩個陣列和交集陣列進行對比,取得差集(刪除相同元素,取得不同元素)。
array_diff() 函數用於比較兩個(或更多)數組的值,並傳回差集。
array_diff(array1,array2,);
參數 | 描述 |
---|---|
#array1 | 必要。與其他數組進行比較的第一個數組。 |
array2 | 必要。與第一個數組進行比較的數組。 |
array3,... | 可選。與第一個數組進行比較的其他數組。 |
array_diff() 函數比較兩個(或更多)數組的值(key=>value 中的value),並傳回一個差集數組,該陣列包含了所有在被比較的陣列(array1)中,但不在任何其他參數陣列(array2 )中的值。
<?php header('content-type:text/html;charset=utf-8'); $arr1=array(1,2,3,4,5,6); $arr2=array(2,4,6,8,10,12); var_dump($arr1); var_dump($arr2); $intersect=array_intersect($arr1,$arr2); echo "相同元素有:"; var_dump($intersect); $diff1=array_diff($arr1,$intersect); $diff2=array_diff($arr2,$intersect); echo "删除相同元素后的两数组:"; var_dump($diff1); var_dump($diff2); ?>
推薦學習:《PHP影片教學》
以上是php怎麼比較兩個陣列去除相同的元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!