Grido\DataSources\ArraySource::sort PHP Method

sort() public method

public sort ( array $sorting )
$sorting array
    public function sort(array $sorting)
    {
        if (count($sorting) > 1) {
            throw new Exception('Multi-column sorting is not implemented yet.');
        }
        foreach ($sorting as $column => $sort) {
            $data = [];
            foreach ($this->data as $item) {
                $sorter = (string) $item[$column];
                $data[$sorter][] = $item;
            }
            if ($sort === 'ASC') {
                ksort($data);
            } else {
                krsort($data);
            }
            $this->data = [];
            foreach ($data as $i) {
                foreach ($i as $item) {
                    $this->data[] = $item;
                }
            }
        }
    }