php如何去掉陣列重複的值?

2020-07-16 10:06:18

php去掉陣列重複值的方法:1、用第一個陣列的每個值和第二個陣列比較,如果相同就刪除;2、使用【array_unique()】函數可以移除陣列中的重複的值,並返回結果陣列;3、使用【array_flip()】反轉陣列鍵和值的函數。

php去掉陣列重複值的方法:

第一、用陣列迴圈比較

$arr = array(1,2,4,2,0,9,8,5);//定義一個陣列。
$arr1 = $arr; //定義另一個陣列和上一個陣列一樣。
//迴圈第一個陣列讓後迴圈第二個陣列,用第一個陣列的每個值和第二個陣列比較,如果相同就刪除,最後輸出第二個陣列就行了。
for($i = 0;$i<count($arr);$i++){
for($j=$i+1;$j<count($arr);$j++){
if($arr[$i] == $arr[$j])
unset($arr1[$i]);
}
}
echo'<pre>';
print_r($arr1);

第二、如果允許使用array_uniqe()函數的話,直接array_uniqe(直接寫陣列名就ok)。

在PHP中可以使用內建函數array_unique()來直接刪除重複元素,也可以使用array_flip()函數來間接刪除重複元素。

1.array_unique()函數

array_unique()函數可以移除陣列中的重複的值,並返回結果陣列;當幾個陣列元素的值相等時,只保留第一個元素,其他的元素被刪除。

程式碼範例:

<?php$result1 = array("a" => "green", "red", "b" => "green", "blue",
"red");var_dump($result1);$result2 = array_unique($result1);var_dump($result2);?>

2.array_flip()函數

array_flip()是反轉陣列鍵和值的函數,它有個特性就是如果陣列中有二個值是一樣的,那麼反轉後會保留最後一個鍵和值,利用這個特性我們用他來間接的實現陣列的去重。

程式碼範例:

<?phpheader("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);?>

以上就是php如何去掉陣列重複的值?的詳細內容,更多請關注TW511.COM其它相關文章!