您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“php如何刪除數組重復元素”,內容詳細,步驟清晰,細節處理妥當,希望這篇“php如何刪除數組重復元素”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
方法1:用array_unique()函數對數組進行去重,語法“array_unique($arr)”;2、利用php數組鍵名不可重復的特性,使用array_flip()函數反轉兩次數組的鍵名和鍵值的位置,語法“array_flip(array_flip($arr))”;3、利用php數組鍵名不可重復的特性,使用foreach語句反轉兩次數組的鍵名和鍵值的位置。
方法1:使用array_unique()函數對數組進行去重
array_unique() 函數用于移除數組中重復的值。如果兩個或更多個數組值相同,只保留第一個值,其他的值被移除。
注釋:被保留的數組將保持第一個數組項的鍵名類型。
<?php
header("content-type:text/html;charset=utf-8");
$array = array(1,2,3,3,4,2,3,5,6,4,5,7,8,9,10);
var_dump($array);
$result = array_unique($array);
echo "刪除重復元素后的數組";
//var_dump(array_values($filtered_array));
var_dump($result);
?>
方法2:使用array_flip()函數
array_flip() 函數用于反轉/交換數組中的鍵名和對應關聯的鍵值。
它有個特性就是如果數組中有二個值是一樣的,那么反轉后會保留最后一個鍵和值,利用這個特性我們用他來間接的實現數組的去重。
<?php
header("content-type:text/html;charset=utf-8");
$a = array(1, 5, 2, 5, 1, 3, 2, 4, 5);
// 輸出原始數組
echo "原始數組 :";
var_dump($a);
// 通過使用翻轉鍵和值移除重復值
$a = array_flip($a);
// 通過再次翻轉鍵和值來恢復數組元素
$a = array_flip($a);
// 重新排序數組鍵
$a = array_values($a);
// 輸出更新后的數組
echo "更新數組 :";
var_dump($a);
?>
方法3:利用foreach語句反轉兩次數組的鍵名和鍵值的位置
步驟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如何刪除數組重復元素”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。