溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php如何去除數(shù)組中相同的值

發(fā)布時間:2022-09-29 10:03:16 來源:億速云 閱讀:100 作者:iii 欄目:編程語言

這篇文章主要介紹“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ī)定排序類型。可能的值:
  • SORT_STRING - 默認。把每一項作為字符串來處理。

  • SORT_REGULAR - 把每一項按常規(guī)順序排列(Standard ASCII,不改變類型)。

  • SORT_NUMERIC - 把每一項作為數(shù)字來處理。

  • SORT_LOCALE_STRING - 把每一項作為字符串來處理,基于當前區(qū)域設置(可通過 setlocale() 進行更改)。

返回值:返回過濾后的數(shù)組。

示例:去除相同值

"Cat",2,"b"=>"Dog","c"=>"Cat",2,3,4,3);
var_dump($arr1);
$arr2=array_unique($arr1);
var_dump($arr2);
?>

php如何去除數(shù)組中相同的值

方法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);
?>

php如何去除數(shù)組中相同的值

方法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ù)組中相同的值

到此,關于“php如何去除數(shù)組中相同的值”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

php
AI