移除陣列中重複的值

array_unique

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

array_unique移除陣列中重複的值

說明

array_unique(array $array, int $flags = SORT_STRING): array

array_unique() 接受 array 作為輸入並返回沒有重複值的新陣列。

注意鍵名保留不變。如果在指定了 flags 時存在多個相等的元素, 會保留第一個相等的元素的鍵(key)和值(value)。

注意: 當且僅當 (string) $elem1 === (string) $elem2 時兩個單元被認為相同。 例如,字串表達一樣時,會使用首個元素。

參數

array

輸入的陣列。

flags

第二個可選參數flags 可用於修改排序行為:

排序型別標記:

  • SORT_REGULAR - 按照通常方法比較(不修改型別)
  • SORT_NUMERIC - 按照數字形式比較
  • SORT_STRING - 按照字串形式比較
  • SORT_LOCALE_STRING - 根據目前的本地化設定,按照字串比較。

返回值

返回過濾后的陣列。

更新日誌

版本 說明
7.2.0 如果 flagsSORT_STRING, 之前會複製 array 並移除非唯一陣列(之後並不打包陣列), 現在是通過新增唯一元素來產生新陣列。這可能會導致不同的數字索引。

範例

示例 #1 array_unique() 例子

<?php
$input 
= array("a" => "green""red""b" => "green""blue""red");
$result array_unique($input);
print_r($result);
?>

以上例程會輸出:

Array
(
    [a] => green
    [0] => red
    [1] => blue
)

示例 #2 array_unique() 和型別

<?php
$input 
= array(4"4""3"43"3");
$result array_unique($input);
var_dump($result);
?>

以上例程會輸出:

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}

註釋

注意: 注意, array_unique() 不能應用於多維陣列。

參見

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *