您好,登錄后才能下訂單哦!
這篇文章主要介紹“php如何去除數組中相同的值”,在日常操作中,相信很多人在php如何去除數組中相同的值問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”php如何去除數組中相同的值”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
三種方法:1、用array_unique,語法“array_unique(數組)”;2、用array_flip(),語法“array_flip(array_flip(數組))”;3、用foreach和兩個空數組,語法“foreach($arr as $k1=>$v1){$r1[$v1]=$k1;}foreach($r1 as $k2=>$v2){$r2[$v2]=$k2;}”。
本教程操作環境:windows7系統、PHP8.1版、DELL G3電腦
去除數組中相同的值,就是去除數組中的重復值。PHP數組去重有多種方法,下面給大家介紹一下。
方法1:使用去重函數array_unique()
array_unique() 函數用于移除數組中重復的值。如果兩個或更多個數組值相同,只保留第一個值,其他的值被移除。
注釋:被保留的數組將保持第一個數組項的鍵名類型。
登錄后復制array_unique(array,sortingtype)
參數 | 描述 |
---|---|
array | 必需。規定數組。 |
sortingtype | 可選。規定排序類型。可能的值:
|
返回值:返回過濾后的數組。
示例:去除相同值
"Cat",2,"b"=>"Dog","c"=>"Cat",2,3,4,3);
var_dump($arr1);
$arr2=array_unique($arr1);
var_dump($arr2);
?>
方法2:利用array_flip()函數
array_flip() 函數用于反轉/交換數組中的鍵名和對應關聯的鍵值。
而數組的鍵名(key)是唯一的、是不會重復存在的。
利用這個特性,如果數組中有二個值是一樣的,那么反轉數組后會保留最后一個鍵和值,這樣既可間接的實現數組的去重。
"Cat",2,"b"=>"Dog","c"=>"Cat",2,3,4,3);
var_dump($arr);
$arr1 = array_flip($arr);//先反轉一次,去掉重復值
var_dump($arr1);
$arr2 = array_flip($arr1);//再反轉回來,得到去重后的數組
var_dump($arr2);
?>
方法1和方法2的區別:
用array_flip()得到的是重復元素最后的鍵和值,用array_unique得到的是重復元素中第一個鍵和值。
方法3:利用foreach語句和兩個空數組
還是利用鍵名唯一的特性,利用foreach語句和兩個空數組來反轉兩次數組的鍵名和鍵值的位置即可。
$v1){
$res1[$v1]=$k1;
}
foreach ($res1 as $k2 => $v2){
$res2[$v2]=$k2;
}
echo "去重后的數組:";
var_dump($res2);
}
$arr=array(1,2,3,4,5,4,3,2,1,0);
f($arr);
?>
到此,關于“php如何去除數組中相同的值”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。