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其它相關文章!