Funksjonen usort

Funksjonen usort sorterer en array etter verdien til elementene, og bruker en callback for å bestemme rekkefølgen til elementene i den sorterte arrayen. Funksjonen endrer selve arrayen.

Sammenligningsfunksjonen må returnere et heltall, som avhengig av sammenligningsresultatet: mindre enn, lik eller større enn null.

Syntaks

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

Eksempel

La oss sortere arrayen i stigende rekkefølge av elementene:

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 av kjøring av koden:

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

Eksempel

La oss nå sortere arrayen i synkende rekkefølge av elementene:

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 av kjøring av koden:

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

Eksempel

La oss nå sortere arrayen i stigende rekkefølge av antall tegn i elementene i arrayen:

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 av kjøring av koden:

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

Se også

  • funksjonen sort,
    som sorterer i stigende rekkefølge av elementer
  • funksjonen rsort,
    som sorterer i synkende rekkefølge av elementer
  • funksjonen ksort,
    som sorterer i stigende rekkefølge av nøkler
  • funksjonen krsort,
    som sorterer i synkende rekkefølge av nøkler
  • funksjonen asort,
    som sorterer i stigende rekkefølge av elementer med bevaring av nøkler
  • funksjonen arsort,
    som sorterer i synkende rekkefølge av elementer med bevaring av nøkler
  • funksjonen natsort,
    som sorterer på naturlig måte
  • funksjonen natcasesort,
    som sorterer på naturlig måte uten hensyn til store/små bokstaver
  • funksjonen usort,
    som sorterer via callback
  • funksjonen uksort,
    som sorterer via callback for nøkler
  • funksjonen uasort,
    som sorterer via callback med bevaring av nøkler
  • funksjonen array_multisort,
    som sorterer flere arrays