PHP | ArrayIterator uksort() Function
Last Updated :
21 Nov, 2019
Improve
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:
php
php
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);
?>
Output:
Program 2:
ArrayIterator Object
(
[storage:ArrayIterator:private] => Array
(
[a] => 4
[b] => 2
[d] => 6
[e] => 1
[f] => 9
[g] => 8
)
)
<?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);
?>
Output:
Reference: https://www.php.net/manual/en/arrayiterator.uksort.php
ArrayIterator Object
(
[storage:ArrayIterator:private] => Array
(
[f] => Portal
[e] => Science
[d] => Computer
[c][/c] => Geeks
[b] => for
[a] => Geeks
)
)
Article Tags :