Разбор ООП с Delphinum

26.92K
.
(\/)____o_O____(\/)
Jahak, у итератора вроде есть методы сортировки
.
Koenig, Это все, что есть у простого итератора, вот у меня итератор реализован на основе интерфейса Iterator, как мне отсортировать его?
// Примерный код
class Lol implements Iterator
{
    public function current()
    {
        // TODO: Implement current() method.
    }

    public function next()
    {
        // TODO: Implement next() method.
    }

    public function key()
    {
        // TODO: Implement key() method.
    }

    public function valid()
    {
        // TODO: Implement valid() method.
    }

    public function rewind()
    {
        // TODO: Implement rewind() method.
    }
}
.
(\/)____o_O____(\/)
Jahak, возьми arrayIterator
там есть
.
Koenig, Знаю, что он там есть но я не хочу так с использованием iterator_to_array
$path = __DIR__;
$files = new FilesystemIterator($path);
$files = new ArrayIterator(iterator_to_array($files));
$files->natcasesort();
foreach ($files as $file) {
    var_dump($file);
}

Да и вообще хотелось бы обойтись без ArrayIterator, значит нет других вариантов?
.
(\/)____o_O____(\/)
Jahak, что ты там такое пишешь, ну прогони свой итератор, и загони в массив итератор и сортируй
.
Итераторы не сортируются. Воспринимайте итераторы как однопроходные списки.
.
Delphinum, Хм, да как же это например http://johncms.com/forum/index ... 07960 ?
.
Delphinum
Jahak, это ты взял итератор, прошелся по нему сформировав массив, и отсортировал массив.

Сортировка ведь подразумевает изменение исходной коллекции? Если нет, то можно пройтись по итератору и по ходу сформировать отсортированную коллекцию из его элементов.
.
Delphinum, ну да так и есть, вот и хотелось отсортировать без превращения в массив.
.
Ладно, спс, дальше сам разберусь
Всего: 713