Funkcija usort

Funkcija usort sortira niz po vrednosti elemenata, koristeći za to kolbek za određivanje redosleda elemenata u sortiranom nizu. Funkcija menja sam niz.

Funkcija za poređenje treba da vrati ceo broj, koji u zavisnosti od rezultata poređenja: manje, jednako ili veće od nule.

Sintaksa

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

Primer

Hajde da sortiramo niz rastuće po elementima:

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

Rezultat izvršavanja koda:

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

Primer

A sada sortirajmo niz opadajuće po elementima:

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

Rezultat izvršavanja koda:

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

Primer

A sada sortirajmo niz rastuće po broju karaktera u elementima niza:

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

Rezultat izvršavanja koda:

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

Pogledajte takođe

  • funkciju sort,
    koja sortira rastuće po elementima
  • funkciju rsort,
    koja sortira opadajuće po elementima
  • funkciju ksort,
    koja sortira rastuće po ključevima
  • funkciju krsort,
    koja sortira opadajuće po ključevima
  • funkciju asort,
    koja sortira rastuće po elementima sa čuvanjem ključeva
  • funkciju arsort,
    koja sortira opadajuće po elementima sa čuvanjem ključeva
  • funkciju natsort,
    koja sortira prirodnim redosledom
  • funkciju natcasesort,
    koja sortira prirodnim redosledom bez obzira na veličinu slova
  • funkciju usort,
    koja sortira preko kolbeka
  • funkciju uksort,
    koja sortira preko kolbeka po ključevima
  • funkciju uasort,
    koja sortira preko kolbeka sa čuvanjem ključeva
  • funkciju array_multisort,
    koja sortira više nizova