natsort Sort an array using a "natural order" algorithm &reftitle.description; boolnatsort arrayarray This function implements a sort algorithm that orders alphanumeric strings in the way a human being would while maintaining key/value associations. This is described as a "natural ordering". An example of the difference between this algorithm and the regular computer string sorting algorithms (used in sort) can be seen in the example below. &reftitle.parameters; array The input array. &reftitle.returnvalues; &return.success; &reftitle.changelog; &Version; &Description; 5.2.10 Zero padded numeric strings (e.g., '00005') now essentially ignore the 0 padding. &reftitle.examples; <function>natsort</function> examples demonstrating basic usage ]]> &example.outputs; img1.png [1] => img10.png [0] => img12.png [2] => img2.png ) Natural order sorting Array ( [3] => img1.png [2] => img2.png [1] => img10.png [0] => img12.png ) ]]> For more information see: Martin Pool's Natural Order String Comparison page. <function>natsort</function> examples demonstrating potential gotchas 1, 'apple' => 1, 'yogurt' => 4, 'banana' => 4); print_r($smoothie); uksort( $smoothie, 'strnatcmp'); print_r($smoothie); ?> ]]> &example.outputs; -5 [1] => 3 [2] => -2 [3] => 0 [4] => -1000 [5] => 9 [6] => 1 ) Array ( [2] => -2 [0] => -5 [4] => -1000 [3] => 0 [6] => 1 [1] => 3 [5] => 9 ) Zero padding Array ( [0] => 09 [1] => 8 [2] => 10 [3] => 009 [4] => 011 [5] => 0 ) Array ( [5] => 0 [1] => 8 [3] => 009 [0] => 09 [2] => 10 [4] => 011 ) Other characters interfering Array ( [0] => image_1.jpg [1] => image_12.jpg [2] => image_21.jpg [3] => image_4.jpg ) Array ( [0] => image_1.jpg [3] => image_4.jpg [1] => image_12.jpg [2] => image_21.jpg ) Sort by keys Array ( [orange] => 1 [apple] => 1 [yogurt] => 4 [banana] => 4 ) Array ( [apple] => 1 [banana] => 4 [orange] => 1 [yogurt] => 4 ) ]]> &reftitle.seealso; natcasesort &seealso.array.sorting; strnatcmp strnatcasecmp