Разбор ООП с Delphinum

29.56K
.
(\/)____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