The uksort Function

The uksort function sorts an array by key values, using a callback to determine the order of elements in the sorted array. The function modifies the array itself.

The comparison function must return an integer, which depending on the comparison result: less than, equal to, or greater than zero.

Syntax

phpuksort(array &$array, int $flags = SORT_REGULAR): bool

Example

Let's sort the array by keys in ascending order:

php<?php
  $arr = [
    'b' => 1,
    'e' => 3,
    'c' => 2,
    'a' => 5,
    'd' => 4,
  ];
  
  function func($a, $b)
  {
    if ($a === $b) {
      return 0;
    } else if ($a < $b) {
      return -1;
    } else {
      return 1;
    }
  }
  
  uksort($arr, 'func');
  var_dump($arr);
?>

Code execution result:

php[
  'a' => 5,
  'b' => 1,
  'c' => 2,
  'd' => 4,
  'e' => 3,
]

See Also

  • the sort function,
    which sorts by element values in ascending order
  • the rsort function,
    which sorts by element values in descending order
  • the ksort function,
    which sorts by keys in ascending order
  • the krsort function,
    which sorts by keys in descending order
  • the asort function,
    which sorts by element values in ascending order while preserving keys
  • the arsort function,
    which sorts by element values in descending order while preserving keys
  • the natsort function,
    which sorts using natural order
  • the natcasesort function,
    which sorts using natural order case-insensitively
  • the usort function,
    which sorts using a callback
  • the uksort function,
    which sorts by keys using a callback
  • the uasort function,
    which sorts using a callback while preserving keys
  • the array_multisort function,
    which sorts multiple arrays