FluidTYPO3\Vhs\ViewHelpers\Iterator\SortViewHelper::sortArray PHP Method

sortArray() protected method

Sort an array
protected sortArray ( array | Iterator $array ) : array
$array array | Iterator
return array
    protected function sortArray($array)
    {
        $sorted = [];
        foreach ($array as $index => $object) {
            if (true === isset($this->arguments['sortBy'])) {
                $index = $this->getSortValue($object);
            }
            while (isset($sorted[$index])) {
                $index .= '.1';
            }
            $sorted[$index] = $object;
        }
        if ('ASC' === $this->arguments['order']) {
            ksort($sorted, $this->getSortFlags());
        } elseif ('RAND' === $this->arguments['order']) {
            $sortedKeys = array_keys($sorted);
            shuffle($sortedKeys);
            $backup = $sorted;
            $sorted = [];
            foreach ($sortedKeys as $sortedKey) {
                $sorted[$sortedKey] = $backup[$sortedKey];
            }
        } elseif ('SHUFFLE' === $this->arguments['order']) {
            shuffle($sorted);
        } else {
            krsort($sorted, $this->getSortFlags());
        }
        return $sorted;
    }