@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 )

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

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

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
Бюро Цифровых Технологий Санкт-Петербург
от 120 000 до 180 000 ₽
07 мая 2024, в 13:28
20000 руб./за проект
07 мая 2024, в 13:07
7000 руб./за проект
07 мая 2024, в 12:59
500 руб./за проект