Função uksort

A função uksort ordena um array pelo valor dos elementos, usando um callback para determinar a ordem dos elementos no array ordenado. A função modifica o próprio array.

A função de comparação deve retornar um número inteiro, que dependendo do resultado da comparação: menor, igual ou maior que zero.

Sintaxe

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

Exemplo

Vamos ordenar o array em ordem crescente de chaves:

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);
?>

Resultado da execução do código:

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

Veja também

  • a função sort,
    que ordena em ordem crescente de elementos
  • a função rsort,
    que ordena em ordem decrescente de elementos
  • a função ksort,
    que ordena em ordem crescente de chaves
  • a função krsort,
    que ordena em ordem decrescente de chaves
  • a função asort,
    que ordena em ordem crescente de elementos preservando chaves
  • a função arsort,
    que ordena em ordem decrescente de elementos preservando chaves
  • a função natsort,
    que ordena de forma natural
  • a função natcasesort,
    que ordena de forma natural sem diferenciar maiúsculas/minúsculas
  • a função usort,
    que ordena por callback
  • a função uksort,
    que ordena por callback por chaves
  • a função uasort,
    que ordena por callback preservando chaves
  • a função array_multisort,
    que ordena múltiplos arrays