在 PHP 中從陣列中刪除重複的值

Minahil Noor 2020年12月31日
在 PHP 中從陣列中刪除重複的值

本文將介紹在 PHP 中從一個陣列中刪除重複值的方法。

在 PHP 中使用 array_unique() 函式從一個陣列中刪除重複的值

我們可以使用 array_unique() 函式從一個陣列中刪除重複的值。array_unique() 函式是一個專門用於從陣列中刪除重複值的函式。使用這個函式的正確語法如下。

array_unique($array, $flags);

array_unique() 函式有兩個引數。它的詳細引數如下。

變數 說明
$array 這是我們要刪除重複值的陣列。
$flags 它指定了陣列的排序模式。排序標誌有五種型別。
SORT_REGULAR 正常常比較元素
SORT_NUMERIC 以數字方式比較元素
SORT_STRING 以字串方式比較元素
SORT_LOCALE_STRING 基於當前的語言環境,以字串方式比較元素。

該函式返回沒有重複值的陣列。下面的程式顯示了我們在 PHP 中使用 array_unique() 函式從一個陣列中刪除重複值的方法。

<?php
$array = array("Rose","Lili","Jasmine","Hibiscus","Daffodil","Daisy","Daffodil","Daisy","Lili","Jasmine","Jasmine");
echo("Array before removal: \n");
var_dump($array);
$array = array_unique($array);
echo("Array after removal: \n");
var_dump($array);
?>

輸出:

Array before removal: 
array(11) {
  [0]=>
  string(4) "Rose"
  [1]=>
  string(4) "Lili"
  [2]=>
  string(7) "Jasmine"
  [3]=>
  string(8) "Hibiscus"
  [4]=>
  string(8) "Daffodil"
  [5]=>
  string(5) "Daisy"
  [6]=>
  string(8) "Daffodil"
  [7]=>
  string(5) "Daisy"
  [8]=>
  string(4) "Lili"
  [9]=>
  string(7) "Jasmine"
  [10]=>
  string(7) "Jasmine"
}
Array after removal: 
array(6) {
  [0]=>
  string(4) "Rose"
  [1]=>
  string(4) "Lili"
  [2]=>
  string(7) "Jasmine"
  [3]=>
  string(8) "Hibiscus"
  [4]=>
  string(8) "Daffodil"
  [5]=>
  string(5) "Daisy"
}

函式返回了過濾後的陣列。

現在,如果我們傳遞 $flags 引數,輸出將被會改變。

<?php
$array = array("Rose","Lili","Jasmine","Hibiscus","Daffodil","Daisy","Daffodil","Daisy","Lili","Jasmine","Jasmine");
echo("Array before removal: \n");
var_dump($array);
$array = array_unique($array, SORT_NUMERIC);
echo("Array after removal: \n");
var_dump($array);
?>

輸出:

Array before removal: 
array(11) {
  [0]=>
  string(4) "Rose"
  [1]=>
  string(4) "Lili"
  [2]=>
  string(7) "Jasmine"
  [3]=>
  string(8) "Hibiscus"
  [4]=>
  string(8) "Daffodil"
  [5]=>
  string(5) "Daisy"
  [6]=>
  string(8) "Daffodil"
  [7]=>
  string(5) "Daisy"
  [8]=>
  string(4) "Lili"
  [9]=>
  string(7) "Jasmine"
  [10]=>
  string(7) "Jasmine"
}
Array after removal: 
array(1) {
  [0]=>
  string(4) "Rose"
}

現在函式已經對陣列進行了數字排序。

相關文章 - PHP Array