@Hint

PHP: должна ли функция array_unique сортировать элементы массива?

Должна ли функция array_unique сортировать элементы массива? Никогда об этом не задумывался, но сейчас потребовалось обязательное сохранение порядка (решил залезть в документацию, чтобы убедиться).

php.net/manual/en/function.array-unique.php
array_unique() sorts the values treated as string at first, then will keep the first key encountered for every value, and ignore all following keys.


Тест:
<?php
$a = array('s3', 's1', 's3', 's2');
$a = array_unique($a);
print_r($a);
?>


Результат:
Array ( [0] => s3 [1] => s1 [3] => s2 )

Так должен ли сохраняться порядок или нет?
  • Вопрос задан
  • 3256 просмотров
Пригласить эксперта
Ответы на вопрос 1
Palehin
@Palehin
Frontend
"array_unique() берёт в качестве параметра array и возвращает новый массив без повторяющихся значений.

Обратите внимание, что ключи сохранятся. array_unique() сначала сортирует значения как строки, сохраняет первый встреченный ключ для каждого значения и игнорирует все последующие ключи. Это не означает, что первый ключ каждого значения неотсортированного array будет сохранён.
"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы