PHP uasort() Function

Quick summary: The PHP uasort() function sorts an array by values while preserving keys.

PHP uasort() Syntax

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

PHP uasort() Basic examples

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

Sorts values without reindexing keys.

PHP uasort() Real-world usage

PHP uasort() Edge cases

$arr = ['a'=>1];
uasort($arr, fn()=>0);
var_dump($arr);
PHP
Output:
array(1) { ["a"]=> int(1) }

Single-element arrays remain unchanged.

PHP uasort() Common mistakes

Confusing uasort with usort

usort reindexes keys.

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

Use uasort when keys matter.

PHP uasort() Frequently Asked Questions

What does uasort() do?

uasort() sorts an array using a callback while preserving keys.

Does uasort() modify the array?

Yes.

Does it preserve keys?

Yes.

Comparison function return?

Integer comparison result.

Use case?

Sorting associative arrays.

Difference from usort()?

uasort preserves keys.

Supports objects?

Yes.

Performance?

Similar to usort.

Stable?

No.

Alternative?

asort().

Descending sort?

Yes via callback.

Spaceship operator support?

Yes.

PHP uasort() Related PHP Functions