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