首頁 >後端開發 >PHP問題 >php怎麼刪除陣列中重複的元素值

php怎麼刪除陣列中重複的元素值

青灯夜游
青灯夜游原創
2021-03-17 17:20:112650瀏覽

php刪除陣列中重複值的方法:1、使用array_unique()函數,語法「array_unique(array)」。 2.先用array_flip()函數反轉數組的鍵和值,去掉重複值;然後再用array_flip()將數組反轉回來。

php怎麼刪除陣列中重複的元素值

本教學操作環境:windows7系統、PHP8版,DELL G3電腦

php刪除陣列中重複的元素值

方法1:直接使用array_unique()函數

<?php
$arr1 = array("a" => "green", "b" => "red", "c" => "green", "d" => "blue","e" =>  "red");
var_dump($arr1);
$arr2 = array_unique($arr1);
var_dump($arr2);
?>

輸出:

array (size=5)
  &#39;a&#39; => string &#39;green&#39; (length=5)
  &#39;b&#39; => string &#39;red&#39; (length=3)
  &#39;c&#39; => string &#39;green&#39; (length=5)
  &#39;d&#39; => string &#39;blue&#39; (length=4)
  &#39;e&#39; => string &#39;red&#39; (length=3)
  
array (size=3)
  &#39;a&#39; => string &#39;green&#39; (length=5)
  &#39;b&#39; => string &#39;red&#39; (length=3)
  &#39;d&#39; => string &#39;blue&#39; (length=4)

#說明:

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

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

語法

array_unique(array)

php怎麼刪除陣列中重複的元素值

方法2:使用兩次array_flip()函數

<?php
header("content-type:text/html;charset=utf-8");
$arr = array("a" => "green", "b" => "red", "c" => "green", "d" => "blue","e" =>  "red");
// 输出原始数组
echo "原始数组 :";
var_dump($arr);
// 通过使用翻转键和值移除重复值
$arr = array_flip($arr);
// 通过再次翻转键和值来恢复数组元素
$arr = array_flip($arr);
// 重新排序数组键
$arr = array_values($arr);
// 输出更新后的数组
echo "更新数组 :";
var_dump($arr);
?>

輸出:

原始数组 :
array (size=5)
  &#39;a&#39; => string &#39;green&#39; (length=5)
  &#39;b&#39; => string &#39;red&#39; (length=3)
  &#39;c&#39; => string &#39;green&#39; (length=5)
  &#39;d&#39; => string &#39;blue&#39; (length=4)
  &#39;e&#39; => string &#39;red&#39; (length=3)
  
更新数组 :
array (size=3)
  0 => string &#39;green&#39; (length=5)
  1 => string &#39;red&#39; (length=3)
  2 => string &#39;blue&#39; (length=4)

說明:

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

語法

array_flip(array);

php怎麼刪除陣列中重複的元素值

推薦學習:《PHP影片教學

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

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