首頁 >後端開發 >PHP問題 >php如何去掉陣列重複的值?

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

coldplay.xixi
coldplay.xixi原創
2020-07-14 10:12:383023瀏覽

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

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

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&#39;<pre class="brush:php;toolbar:false">&#39;;
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程式設計從入門到精通

以上是php如何去掉陣列重複的值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn