Quicksort is practically the fastest way to sort an `array`

of data. PHP’s `array`

sorting function `sort()`

uses QuickSort.

### How Quick Sort works?

This is how QuickSort operates on a list of elements:

- Picks a data element (called pivot) from an
`array`

; - Makes a comparison of all other elements with the pivot;
- Creates two subsets, one with values smaller than the pivot and the other with larger values;
- Repeats the above steps recursively on all the subsets until all subsets are broken down to individual elements;
- Groups together all subsets to produce sorted array of data.

Although you have a function `sort()`

in PHP that can do `array`

sorting by implementing QuickSort, yet the below function from WikiBooks can be helpful in understanding the process.

function quicksort( $array ) { if( count( $array ) < 2 ) { return $array; } $left = $right = array( ); reset( $array ); $pivot_key = key( $array ); $pivot = array_shift( $array ); foreach( $array as $k => $v ) { if( $v < $pivot ) $left[$k] = $v; else $right[$k] = $v; } return array_merge(quicksort($left), array($pivot_key => $pivot), quicksort($right)); } //Using quicksort() $array = quicksort( $array ); //returns sorted array.

To do quicksort with the builtin `sort()`

function:

sort( $array ); //returns true on success, false otherwise