去除步驟:1、利用array_intersect()獲取兩個(gè)數(shù)組的重復(fù)值(交集元素),語(yǔ)法“array_intersect(原數(shù)組1,(原數(shù)組2)”,會(huì)返回一個(gè)交集數(shù)組;2、使用array_diff()分別將兩個(gè)原數(shù)組和交集數(shù)組進(jìn)行對(duì)比,獲取差集,即刪除重復(fù)值,獲取不重復(fù)的元素,語(yǔ)法“array_diff(原數(shù)組1,交集數(shù)組)”和“array_diff(原數(shù)組2,交集數(shù)組)”。
本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦
怎么去除兩個(gè)數(shù)組中都存在的重復(fù)值,即交集元素?
例:有這樣兩個(gè)數(shù)組:
$arr1=array(1,2,3,4,5,6,7,8,9); $arr2=array(2,4,6,8,10,12,14,16);
在兩個(gè)數(shù)組中都存在的重復(fù)值是:
2、4、6、8
怎么將這幾個(gè)重復(fù)值去除呢?
在php中,可以利用array_intersect()和array_diff()函數(shù)來(lái)刪除兩數(shù)組的重復(fù)值。
實(shí)現(xiàn)步驟:
步驟1:利用array_intersect()函數(shù)獲取兩數(shù)組的重復(fù)值(交集元素)
array_intersect()函數(shù)可以比較兩個(gè)數(shù)組的值,并返回包含重復(fù)值的交集數(shù)組。
$intersect=array_intersect($arr1,$arr2); var_dump($intersect);
步驟2:利用array_diff()函數(shù)刪除兩個(gè)數(shù)組的重復(fù)值(交集元素)
使用array_diff()函數(shù)分別將兩個(gè)數(shù)組和交集數(shù)組進(jìn)行對(duì)比,獲取差集(刪除重復(fù)值,獲取不重復(fù)的元素)。
$diff1=array_diff($arr1,$intersect); $diff2=array_diff($arr2,$intersect); echo "刪除交集元素后的兩數(shù)組:"; var_dump($diff1); var_dump($diff2);
對(duì)比一下:
說(shuō)明:
array_diff() 函數(shù)用于比較兩個(gè)(或