function _quicksort($seq, $sort) { if (!count($seq)) { return $seq; } $k = $seq[0]; $x = $y = array(); for ($i = 1; $i < count($seq); $i++) { if (strtotime($seq[$i]->{$sort}) >= strtotime($k->{$sort})) { $x[] = $seq[$i]; } else { $y[] = $seq[$i]; } } return array_merge(_quicksort($x, $sort), array($k), _quicksort($y, $sort)); }
function quicksort(array &$input) { _quicksort($input, 0, count($input) - 1); }