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ă
uasort(array &$array, int $flags = SORT_REGULAR): bool
Exemplu
Să sortăm matricea în ordine crescătoare a elementelor:
<?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:
[
'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
$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:
[
'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