Вопрос №55412 от пользователя Александр Леда в уроке «Fluent Interface», курс «PHP: Объектно-ориентированный дизайн»
Не понимаю почему у меня на компьютере все работает корректно, а на сайте возникает проблема при сортировки городов по алфавиту. https://ru.hexlet.io/code_reviews/417208
Судя по ошибке:
No tests found in class "App\Tests\NormalizerTest".
Был изменён файл с тестами в упражнении. Выполните сброс с помощью кнопки на панели справа. Это вернёт упражнение в начальное состояние и восстановит все файлы. Только не забудьте сохранить своё решение, так как при сбросе оно удаляется. Напишите, пожалуйста, удалось ли вам победить задачу.
Я убрал тесты что бы идти дальше по урокам. Ошибка следующая 'turkey' => Array (
- 0 => 'antalia'
- 1 => 'istambul'
- 0 => 'istambul'
- 1 => 'antalia' )
Сортировка не срабатывает $uniqSort = collect($normalized)->map(function ($item) { return collect($item)->unique()->values()->sort()->all(); }); Но на моем компьютере тот же код выдает правильный результат.
Александр, добрый день.
Чтобы разобраться с ошибкой, попробуйте добавить больше информации в вывод. Расставьте отладочную печать Обратите внимание на то, как работает сортировка. Она сохраняет ключи у каждого элемента.
#items: array:3 [
"turkey" => array:2 [
1 => "antalia"
0 => "istambul"
]
"russia" => array:2 [
0 => "moscow"
1 => "samara"
]
"usa" => array:1 [
0 => "istambul"
]
]
}
Nikolai Gagarinov, Спасибо
мне кажется этого вам достаточно
$uniqSort = collect($normalized)
->map(fn($item) =>collect($item)->unique()->sort()->values());
если пользовались mapToGroups то после нее все обьексты это коллекция можно обработать так
->map(fn(Collection $cities) => $cities->unique()->sort()->values())
Используйте Хекслет по максимуму!
- Задавайте вопросы по уроку
- Проверяйте знания в квизах
- Проходите практику прямо в браузере
- Отслеживайте свой прогресс
Зарегистрируйтесь или войдите в свой аккаунт
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.







