(PHP 4, PHP 5, PHP 7, PHP 8)
uksort — Sort an array by keys using a user-defined comparison function
Sorts array in place by keys using a
user-supplied comparison function to determine the order.
Note: If two members compare as equal, they retain their original order. Prior to PHP 8.0.0, their relative order in the sorted array was undefined.
Note: Resets array's internal pointer to the first element.
arrayThe input array.
callback
Always returns true.
| Version | Description |
|---|---|
| 8.2.0 |
The return type is true now; previously, it was bool.
|
| 8.0.0 |
If callback expects a parameter to be passed
by reference, this function will now emit an E_WARNING.
|
Example #1 uksort() example
<?php
function cmp($a, $b)
{
$a = preg_replace('@^(a|an|the) @', '', $a);
$b = preg_replace('@^(a|an|the) @', '', $b);
return strcasecmp($a, $b);
}
$a = array("John" => 1, "the Earth" => 2, "an apple" => 3, "a banana" => 4);
uksort($a, "cmp");
foreach ($a as $key => $value) {
echo "$key: $value\n";
}
?>The above example will output:
an apple: 3 a banana: 4 the Earth: 2 John: 1