Funksie usort
Die funksie usort sorteer 'n skikking
volgens die waarde van elemente deur 'n
callback te gebruik om die volgorde van
elemente in die gesorteerde skikking te bepaal.
Die funksie verander die skikking self.
Die vergelykingsfunksie moet 'n heelgetal teruggee, wat afhangende van die vergelykingsresultaat: minder as, gelyk aan of groter as nul is.
Sintaksis
usort(array &$array, callable $callback): bool
Voorbeeld
Laat ons die skikking in toenemende volgorde van elemente sorteer:
<?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);
?>
Resultaat van die kode-uitvoering:
[1, 2, 3, 4, 5]
Voorbeeld
En nou sorteer ons die skikking in dalende volgorde van elemente:
<?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);
?>
Resultaat van die kode-uitvoering:
[1, 2, 3, 4, 5]
Voorbeeld
En nou sorteer ons die skikking volgens toenemende aantal karakters in die skikking-elemente:
<?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);
?>
Resultaat van die kode-uitvoering:
[
'1',
'12',
'123',
'1234',
'12345',
]
Sien ook
-
die funksie
sort,
wat in toenemende volgorde van elemente sorteer -
die funksie
rsort,
wat in dalende volgorde van elemente sorteer -
die funksie
ksort,
wat in toenemende volgorde van sleutels sorteer -
die funksie
krsort,
wat in dalende volgorde van sleutels sorteer -
die funksie
asort,
wat in toenemende volgorde van elemente sorteer met behoud van sleutels -
die funksie
arsort,
wat in dalende volgorde van elemente sorteer met behoud van sleutels -
die funksie
natsort,
wat op 'n natuurlike wyse sorteer -
die funksie
natcasesort,
wat op 'n natuurlike wyse sorteer sonder om na hoof- en kleinletters te kyk -
die funksie
usort,
wat volgens 'n callback sorteer -
die funksie
uksort,
wat volgens 'n callback volgens sleutels sorteer -
die funksie
uasort,
wat volgens 'n callback sorteer met behoud van sleutels -
die funksie
array_multisort,
wat verskeie skikkings sorteer