The uksort() function is a built-in function in PHP and is used to sort an array according to the keys and not values using a user-defined comparison function.
Syntax:
boolean uksort($array, myFunction);
Parameter: This function accepts two parameters and are described below:
- $array: This parameter specifies an array which we need to sort.
- myFunction: This parameter specifies name of a user-defined function which will be used to sort the keys of array $array. This comparison function must return an integer.
Return value: This function returns a boolean value. It returns TRUE on success or FALSE on failure.
Below programs illustrate the uksort() function in PHP:
Program 1:
<?php   // user-defined comparison function function my_sort( $x , $y ) {     if ( $x == $y )         return 0;       return ( $x > $y ) ? -1 : 1; }   // Input array $names = array (                 "10" => "javascript" ,                 "20" => "php" ,                 "60" => "vbscript" ,                 "40" => "jsp"               );   uksort( $names , "my_sort" );   // printing sorted array print_r ( $names ); ?> |
Output:
Array ( [60] => vbscript [40] => jsp [20] => php [10] => javascript )
Program 2:
<?php   // user-defined comparison function function my_sort( $x , $y ) {     if ( $x == $y )         return 0;       return ( $x > $y ) ? 1 : -1; }   // Input array $names = array (                 "10" => "javascript" ,                 "20" => "php" ,                 "60" => "vbscript" ,                 "40" => "jsp"               );   uksort( $names , "my_sort" );   // printing sorted array print_r ( $names ); ?> |
Output:
Array ( [10] => javascript [20] => php [40] => jsp [60] => vbscript )
Note: If two values are compared as equal according to the user-defined comparison function then their order in the output array will be undefined.
Reference:
http://php.net/manual/en/function.uksort.php