PHP uksort() Function

Quick summary: The PHP uksort() function sorts an array by keys using a custom comparison function.

PHP uksort() Syntax

uksort(array &$array, callable $callback): bool
PHP

PHP uksort() Basic examples

$arr = ['b'=>1,'a'=>2];
uksort($arr, fn($a,$b)=>$a<=>$b);
var_dump($arr);
PHP
Output:
array(2) { ["a"]=> int(2) ["b"]=> int(1) }

Sorts array keys using a custom comparator.

PHP uksort() Real-world usage

$routes = ['POST'=>1,'GET'=>2];
uksort($routes, 'strcmp');
var_dump($routes);
PHP
Output:
array(2) { ["GET"]=> int(2) ["POST"]=> int(1) }

Sorts associative keys alphabetically.

PHP uksort() Edge cases

PHP uksort() Common mistakes

Expecting value sorting

uksort sorts by keys, not values.

Incorrect
uksort(['a'=>2,'b'=>1], fn($a,$b)=>$a<=>$b);
Correct
uasort(['a'=>2,'b'=>1], fn($a,$b)=>$a<=>$b);

Use uasort to sort by values.

PHP uksort() Frequently Asked Questions

What does uksort() do?

uksort() sorts an array by keys using a callback.

Does it modify array?

Yes.

Preserves values?

Yes.

Comparison function works on?

Keys.

Use case?

Custom key sorting.

Difference from ksort()?

Uses custom callback.

Supports associative arrays?

Yes.

Performance?

Good.

Stable?

No.

Descending sort?

Yes via callback.

Spaceship operator?

Yes.

Alternative?

ksort().

PHP uksort() Related PHP Functions