<?php class AsciiSortedIterator extends SplHeap { public function __construct(Iterator $iterator) { foreach ($iterator as $item) { $this->insert($item); } } public function compare($b,$a) { /** * @var $a SplFileInfo * @var $b SplFileInfo */ return strcmp($a->getPath() . DIRECTORY_SEPARATOR . $a->getFileName(), $b->getPath() . DIRECTORY_SEPARATOR . $b->getFileName()); } }