173
Студента
79%
Завершения
Обновлено: 16 марта, 13:24

В этой задаче необходимо реализовать ленивую коллекцию.

src\Enumerable.php

Реализуйте класс Enumerable, который работает похожим образом, что и Collect, но предназначен для обработки коллекций ассоциативных массивов. Основная особенность работы данного класса заключается в том, что он использует lazy вариант обработки.

Примеры

<?php

$elements = [
    ['key' => 'value', 'year' => 1932],
    ['key' => '', 'year' => 1100],
    ['key' => 'value', 'year' => 32]
];
$coll = Enumerable::wrap($elements);
$newColl = $coll->where('key', 'value')->where('year', 1932);
// Эта функция не сохраняет ключи
$newColl->all(); // ['key' => 'value', 'year' => 1932]

Подсказки

  • Функции, которые нужно реализовать, описаны в интерфейсе EnumerableInterface
  • Усложнённый вариант: добавьте мемоизацию

Для полного доступа к испытанию нужна профессиональная подписка

Профессиональная подписка откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
115
курсов
892
упражнения
2241
час теории
3196
тестов