Internally speaking, which algorithm(s) does PHP use to implement the various sort functions it offers? It seems like the usort variants might use a different algorithm than
IIRC, PHP uses quick sort
For sorting, PHP uses an implementation of quicksort that can be found in Zend/zend_qsort.c, which takes a comparison function and an array of elements. The default comparison function for sort()
is defined in ext/standard/array.c and is called php_array_data_compare()
. So basically, it's the same algorithm for all sorting functions, except that they take different comparison functions.
You could find the information by looking at the php manual. http://php.net/sort says PHP uses an implementation of Quicksort. Failing that, you could always trudge through the PHP source code itself.