首頁 > 後端開發 > PHP問題 > php如何刪除陣列重複值?

php如何刪除陣列重複值?

青灯夜游
發布: 2023-03-03 10:30:02
原創
3251 人瀏覽過

php刪除陣列重複值的方法:1.使用array_unique()來刪除陣列重複值;2、使用array_flip()函數來間接刪除陣列重複值。 array_flip()反轉數組鍵和值,如果數組中有二個值是一樣的,那麼反轉後會保留最後一個鍵和值。

php如何刪除陣列重複值?

php刪除陣列重複值的方法

1、使用array_unique ()函數

array_unique() 函數用來移除陣列中重複的值。如果兩個或更多個數組值相同,只保留第一個值,其他的值被移除。 【教學推薦:PHP教學

註解:被保留的陣列將保持第一個陣列項目的鍵名類型。

傳回值: 傳回過濾後的陣列。

程式碼範例:

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

輸出:

array (size=5)
  &#39;a&#39; => string &#39;green&#39; (length=5)
  0 => string &#39;red&#39; (length=3)
  &#39;b&#39; => string &#39;green&#39; (length=5)
  1 => string &#39;blue&#39; (length=4)
  2 => string &#39;red&#39; (length=3)
array (size=3)
  &#39;a&#39; => string &#39;green&#39; (length=5)
  0 => string &#39;red&#39; (length=3)
  1 => string &#39;blue&#39; (length=4)
登入後複製

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);
?>
登入後複製

輸出:


原始数组 :array (size=9)
  0 => int 1
  1 => int 5
  2 => int 2
  3 => int 5
  4 => int 1
  5 => int 3
  6 => int 2
  7 => int 4
  8 => int 5
更新数组 :array (size=5)
  0 => int 1
  1 => int 5
  2 => int 2
  3 => int 3
  4 => int 4
登入後複製

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

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板