Funkcija uasort

Funkcija uasort sortira niz po rastućem redosledu elemenata, čuvajući ključeve asocijativnog niza.

Funkcija uasort 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 celi broj, koji u zavisnosti od rezultata poređenja: manji od, jednak ili veći od nule.

Funkcija menja sam niz.

Sintaksa

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

Primer

Hajde da sortiramo niz po rastućem redosledu elemenata:

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;
    }
  }
  
  uasort($arr, 'func');
  var_dump($arr);
?>

Rezultat izvršavanja koda:

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

Primer

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

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

Rezultat izvršavanja koda:

php[
  'b' => '1',
  'd' => '12',
  'a' => '123',
  'e' => '1234',
  'c' => '12345',
]

Pogledajte takođe

  • funkciju sort,
    koja sortira po rastućem redosledu elemenata
  • funkciju rsort,
    koja sortira po opadajućem redosledu elemenata
  • funkciju ksort,
    koja sortira po rastućem redosledu ključeva
  • funkciju krsort,
    koja sortira po opadajućem redosledu ključeva
  • funkciju asort,
    koja sortira po rastućem redosledu elemenata sačuvavajući ključeve
  • funkciju arsort,
    koja sortira po opadajućem redosledu elemenata sačuvavajući ključeve
  • funkciju natsort,
    koja sortira prirodnim redosledom
  • funkciju natcasesort,
    koja sortira prirodnim redosledom bez obzira na veličinu slova
  • funkciju usort,
    koja sortira po kolbeku
  • funkciju uksort,
    koja sortira po kolbeku po ključevima
  • funkciju uasort,
    koja sortira po kolbeku sačuvavajući ključeve
  • funkciju array_multisort,
    koja sortira više nizova