首頁 > 後端開發 > PHP問題 > php不用函數怎麼實現數組去重

php不用函數怎麼實現數組去重

青灯夜游
發布: 2023-03-16 20:56:01
原創
1751 人瀏覽過

實作步驟:1、定義2個空數組,用來儲存兩次反轉的鍵和值;2、用foreach語句遍歷原數組,將原數組鍵和值賦給一個空數組作值和鍵,語法「foreach($arr as $k1=>$v1){$r1[$v1]=$k1;}」;3、用foreach語句遍歷反轉數組,將鍵和值賦給另一個空數組作值和鍵,語法「foreach($r1 as $k2=>$v2){$r2[$v2]=$k2;}」。

php不用函數怎麼實現數組去重

本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦

在php中,陣列的鍵名(key )是唯一的、是不會重複存在的;即使宣告兩個一樣的鍵名,後一個宣告的鍵名也會覆寫前一個鍵名。

利用php陣列鍵名不可重複的特性,就可以移除陣列重複值。

實作方法:反轉兩次陣列的鍵名和鍵值的位置。

實作步驟:

步驟1:定義2個空數組,用於儲存兩個反轉的鍵名和鍵值

$res1=[];
$res2=[];
登入後複製

步驟2:利用foreach語句遍歷原始數組,將原始數組鍵名和鍵值賦給一個空數組作鍵值和鍵名

foreach ($array as $k1 => $v1){  //在每次循环中会将当前数组的值赋给 $v1,键名赋给 $k1
    $res1[$v1]=$k1;
}
登入後複製

會得到一個反轉鍵名和鍵值的陣列

步驟3:利用foreach語句遍歷反轉數組,將反轉數組的鍵名和鍵值賦給另一個空數組作鍵值和鍵名

foreach ($res1 as $k2 => $v2){  
    $res2[$v2]=$k2;
}
登入後複製

實現代碼

<?php 
header("content-type:text/html;charset=utf-8");
function f($arr){
	var_dump($arr);
	$res1=[];
	$res2=[];
	foreach($arr as $k1=>$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不用函數怎麼實現數組去重

推薦學習:《PHP視頻教程

以上是php不用函數怎麼實現數組去重的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板