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 |
如果 flags 是 SORT_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", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
?>
以上例程會輸出:
array(2) {
[0] => int(4)
[2] => string(1) "3"
}
註釋
注意: 注意, array_unique() 不能應用於多維陣列。