Практика: нормализация массива профиля
Преобразуйте неполный входной массив в предсказуемую структуру профиля.
normalizeProfile(array $input): arrayУсловие
Результат всегда содержит name, city и roles. name — непустая строка, city допускает null, roles — список уникальных строк.
Тесты
Проверьте пустой массив, null для city, дубликаты roles, неверный тип name и лишние поля.
Подсказка
Различайте отсутствие ключа и null через array_key_exists(). Не изменяйте исходный массив.
Критерий
Решение оценивается по набору тестов и типам результата, а не по точному совпадению кода.
Закрепите материал
Отметка, заметка, чек-лист и ответы остаются в localStorage этого браузера и не отправляются в аналитику.
- Контракт входа проверяется до вычисления.
- Пограничные случаи из условия воспроизводятся тестами.
- Решение не скрывает ошибку нестрогим преобразованием.
Связанные материалы
Источники и проверка
- PHP Documentation Group — структурный источник, без внешней ссылки
Последняя содержательная проверка: . Автор-разработчик Михаил Каржин. Методика качества контента.