Funksioni usort

Funksioni usort rendit një varg sipas vlerës së elementeve, duke përdorur për këtë një callback për të përcaktuar rendin e elementeve në vargun e renditur. Funksioni e ndryshon vetë vargun.

Funksioni i krahasimit duhet të kthejë një numër të plotë, i cili në varësi të rezultatit të krahasimit: më pak, e barabartë ose më e madhe se zero.

Sintaksa

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

Shembull

Le ta renditim vargun në rend rritës të elementeve:

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

Rezultati i ekzekutimit të kodit:

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

Shembull

Dhe tani le ta renditim vargun në rend zbritës të elementeve:

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

Rezultati i ekzekutimit të kodit:

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

Shembull

Dhe tani le ta renditim vargun në rend rritës të numrit të karaktereve në elementët e vargut:

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

Rezultati i ekzekutimit të kodit:

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

Shihni gjithashtu

  • funksionin sort,
    që rendit në rend rritës të elementeve
  • funksionin rsort,
    që rendit në rend zbritës të elementeve
  • funksionin ksort,
    që rendit në rend rritës të çelësave
  • funksionin krsort,
    që rendit në rend zbritës të çelësave
  • funksionin asort,
    që rendit në rend rritës të elementeve me ruajtje të çelësave
  • funksionin arsort,
    që rendit në rend zbritës të elementeve me ruajtje të çelësave
  • funksionin natsort,
    që rendit në mënyrë natyrale
  • funksionin natcasesort,
    që rendit në mënyrë natyrale pa marrë parasysh shkronjat e mëdha e të vogla
  • funksionin usort,
    që rendit sipas callback
  • funksionin uksort,
    që rendit sipas callback për çelësat
  • funksionin uasort,
    që rendit sipas callback me ruajtje të çelësave
  • funksionin array_multisort,
    që rendit disa vargje