實作步驟:1、定義2個空數組,用來儲存兩次反轉的鍵和值;2、用foreach語句遍歷原數組,將原數組鍵和值賦給一個空數組作值和鍵,語法「foreach($arr as $k1=>$v1){$r1[$v1]=$k1;}」;3、用foreach語句遍歷反轉數組,將鍵和值賦給另一個空數組作值和鍵,語法「foreach($r1 as $k2=>$v2){$r2[$v2]=$k2;}」。
本教學操作環境: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中文網其他相關文章!