array_unique
PHP Manual
PHP Manual»Функції для роботи з масивами»array_unique

array_unique

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

array_unique — Removes duplicate values from an array

Опис

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

Takes an input array and returns a new array without duplicate values.

Note that keys are preserved. If multiple elements compare equal under the given flags, then the key and value of the first equal element will be retained.

Зауваження:

Two elements are considered equal if and only if (string) $elem1 === (string) $elem2, i.e. when the string representation is the same, the first element will be used.

Параметри

array

The input array.

flags

The optional second parameter flags may be used to modify the comparison behavior using these values:

Comparison type flags:

  • SORT_REGULAR - compare items normally (don't change types)

    Зауваження:

    When combining SORT_REGULAR with arrays mixing numeric and non-numeric strings, the sort-then-compare algorithm may not place equal elements adjacent, which can leave duplicates in the result. Use SORT_STRING to avoid this.

  • SORT_NUMERIC - compare items numerically

  • SORT_STRING - compare items as strings

  • SORT_LOCALE_STRING - compare items as strings, based on the current locale.

Значення, що повертаються

Returns the filtered array.

Журнал змін

Версія Опис
7.2.0 If flags is SORT_STRING, the returned array is built by adding the unique elements to a new array; formerly, it was a copy of array from which the non-unique elements were removed. Both hold the same elements under the same keys, but if the element with the largest integer key is among those removed, the index generated for an element appended to the returned array differs from the one array would have generated.

Приклади

Приклад #1 array_unique() example

<?php

$input = ["a" => "green", "red", "b" => "green", "blue", "red"];
$result = array_unique($input);
print_r($result);

?>

Поданий вище приклад виведе:

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

Приклад #2 array_unique() and types

<?php

$input = [4, "4", "3", 4, 3, "3"];
$result = array_unique($input);
var_dump($result);

?>

Поданий вище приклад виведе:

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

Примітки

Зауваження:

Note that array_unique() is not intended to work on multi dimensional arrays.

Прогляньте також

To Top