Funcția uasort

Funcția uasort sortează o matrice în ordine crescătoare a elementelor, păstrând cheile matricei asociative.

Funcția uasort sortează o matrice după valoarea elementelor, folosind pentru aceasta un callback pentru a determina ordinea elementelor în matricea sortată. Funcția modifică matricea în sine.

Funcția de comparare trebuie să returneze un număr întreg, care în funcție de rezultatul comparației: mai mic, egal sau mai mare decât zero.

Funcția modifică matricea în sine.

Sintaxă

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

Exemplu

Să sortăm matricea în ordine crescătoare a elementelor:

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

Rezultatul executării codului:

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

Exemplu

Acum să sortăm matricea în ordine crescătoare a numărului de caractere din elementele matricei:

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

Rezultatul executării codului:

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

Vedeți și

  • funcția sort,
    care sortează în ordine crescătoare a elementelor
  • funcția rsort,
    care sortează în ordine descrescătoare a elementelor
  • funcția ksort,
    care sortează în ordine crescătoare a cheilor
  • funcția krsort,
    care sortează în ordine descrescătoare a cheilor
  • funcția asort,
    care sortează în ordine crescătoare a elementelor păstrând cheile
  • funcția arsort,
    care sortează în ordine descrescătoare a elementelor păstrând cheile
  • funcția natsort,
    care sortează în mod natural
  • funcția natcasesort,
    care sortează în mod natural fără a ține cont de majuscule/minuscule
  • funcția usort,
    care sortează după callback
  • funcția uksort,
    care sortează după callback după chei
  • funcția uasort,
    care sortează după callback păstrând cheile
  • funcția array_multisort,
    care sortează mai multe matrice