uasort függvény

A uasort függvény egy tömböt rendez növekvő sorrendbe az elemek szerint, megőrizve az asszociatív tömb kulcsait.

A uasort függvény a tömb elemeit értékük szerint rendezi, ehhez egy callback függvényt használva határozza meg az elemek sorrendjét a rendezett tömbben. A függvény magát a tömböt módosítja.

Az összehasonlító függvénynek egy egész számot kell visszaadnia, amely az összehasonlítás eredményétől függően: nullánál kisebb, egyenlő vagy nagyobb.

A függvény magát a tömböt módosítja.

Szintaxis

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

Példa

Rendezzük a tömböt növekvő sorrendbe az elemek szerint:

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

A kód végrehajtásának eredménye:

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

Példa

Most pedig rendezzük a tömböt a tömb elemeiben található karakterek számának növekvő sorrendjébe:

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

A kód végrehajtásának eredménye:

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

Lásd még

  • a sort függvényt,
    amely az elemek szerint rendez növekvő sorrendbe
  • a rsort függvényt,
    amely az elemek szerint rendez csökkenő sorrendbe
  • a ksort függvényt,
    amely a kulcsok szerint rendez növekvő sorrendbe
  • a krsort függvényt,
    amely a kulcsok szerint rendez csökkenő sorrendbe
  • a asort függvényt,
    amely az elemek szerint rendez növekvő sorrendbe a kulcsok megtartásával
  • a arsort függvényt,
    amely az elemek szerint rendez csökkenő sorrendbe a kulcsok megtartásával
  • a natsort függvényt,
    amely természetes módon rendez
  • a natcasesort függvényt,
    amely természetes módon rendez kis- és nagybetűk megkülönböztetése nélkül
  • a usort függvényt,
    amely callback függvény szerint rendez
  • a uksort függvényt,
    amely callback függvény szerint rendez a kulcsokon
  • a uasort függvényt,
    amely callback függvény szerint rendez a kulcsok megtartásával
  • a array_multisort függvényt,
    amely több tömböt rendez