The ArrayIterator::uksort() function is an inbuilt function in PHP which is used to sort the keys by using a user-defined comparison function.
Syntax:
void ArrayIterator::uksort( callable $cmp_function )
Parameters: This function accepts single parameter $cmp_function which holds the user defined comparison function.
Return Value: This function does not return any value.
Below programs illustrate the ArrayIterator::uksort() function in PHP:
Program 1:
<?php   // Declare an ArrayIterator $arrItr = new ArrayIterator(     array(         "a" => 4,         "b" => 2,         "g" => 8,         "d" => 6,         "e" => 1,         "f" => 9     ) );   // User defined comparator function function sorting($a, $b) {     if($a == $b)         return 0;     return ($a < $b) ? -1 : 1; }   $arrItr->uksort("sorting");     // Printing the sorted array. print_r($arrItr);   ?> |
ArrayIterator Object
(
[storage:ArrayIterator:private] => Array
(
[a] => 4
[b] => 2
[d] => 6
[e] => 1
[f] => 9
[g] => 8
)
)
Program 2:
<?php      // Declare an ArrayIterator $arrItr = new ArrayIterator(     array(         "b" => "for",         "a" => "Geeks",         "e" => "Science",         "c" => "Geeks",         "f" => "Portal",         "d" => "Computer"    ) );     // Declare a comparison function to sort  // values in descending order function comparison($val1, $val2) {     if ($val1 == $val2) {         return 0;     }     else if($val1 > $val2)         return -1;     else        return 1; }     $arrItr->uksort('comparison');     // Print the sorted ArrayObject print_r($arrItr);   ?> |
ArrayIterator Object
(
[storage:ArrayIterator:private] => Array
(
[f] => Portal
[e] => Science
[d] => Computer
=> Geeks
[b] => for
[a] => Geeks
)
)
Reference: https://www.php.net/manual/en/arrayiterator.uksort.php
