Funktionen usort

Funktionen usort sorterer et array efter elementværdier ved at bruge en callback-funktion til at bestemme rækkefølgen af elementer i det sorterede array. Funktionen ændrer selve arrayet.

Sammenligningsfunktionen skal returnere et helt tal, som afhængigt af sammenligningsresultatet: mindre end, lig med eller større end nul.

Syntaks

phpusort(array &$array, callable $callback): bool

Eksempel

Lad os sortere arrayet i stigende rækkefølge efter elementer:

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

Resultat af kodeudførelse:

php[1, 2, 3, 4, 5]

Eksempel

Lad os nu sortere arrayet i faldende rækkefølge efter elementer:

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

Resultat af kodeudførelse:

php[1, 2, 3, 4, 5]

Eksempel

Lad os nu sortere arrayet i stigende rækkefølge efter antal tegn i arrayets elementer:

php<?php
  $arr = [
    '123',
    '1',
    '12345',
    '12',
    '1234',
  ];
  
  function func($a, $b)
  {
    if (strlen($a) === strlen($b)) {
      return 0;
    } else if (strlen($a) < strlen($b)) {
      return -1;
    } else {
      return 1;
    }
  }
  
  usort($arr, 'func');
  var_dump($arr);
?>

Resultat af kodeudførelse:

php[
  '1',
  '12',
  '123',
  '1234',
  '12345',
]

Se også

  • funktionen sort,
    der sorterer i stigende rækkefølge efter elementer
  • funktionen rsort,
    der sorterer i faldende rækkefølge efter elementer
  • funktionen ksort,
    der sorterer i stigende rækkefølge efter nøgler
  • funktionen krsort,
    der sorterer i faldende rækkefølge efter nøgler
  • funktionen asort,
    der sorterer i stigende rækkefølge efter elementer med bevarelse af nøgler
  • funktionen arsort,
    der sorterer i faldende rækkefølge efter elementer med bevarelse af nøgler
  • funktionen natsort,
    der sorterer på naturlig vis
  • funktionen natcasesort,
    der sorterer på naturlig vis uden hensyn til store og små bogstaver
  • funktionen usort,
    der sorterer via callback
  • funktionen uksort,
    der sorterer via callback efter nøgler
  • funktionen uasort,
    der sorterer via callback med bevarelse af nøgler
  • funktionen array_multisort,
    der sorterer flere arrays