Fungsi usort
Fungsi usort mengisih array
mengikut nilai elemen, menggunakan
panggilan balik untuk menentukan susunan
elemen dalam array yang diisih.
Fungsi ini mengubah array itu sendiri.
Fungsi perbandingan mesti mengembalikan nombor integer, yang bergantung kepada hasil perbandingan: kurang daripada, sama dengan atau lebih daripada sifar.
Sintaks
usort(array &$array, callable $callback): bool
Contoh
Mari kita isih array dalam tertib menaik elemen:
<?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);
?>
Keputusan pelaksanaan kod:
[1, 2, 3, 4, 5]
Contoh
Sekarang mari kita isih array dalam tertib menurun elemen:
<?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);
?>
Keputusan pelaksanaan kod:
[1, 2, 3, 4, 5]
Contoh
Sekarang mari kita isih array mengikut tertib menaik bilangan aksara dalam elemen array:
<?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);
?>
Keputusan pelaksanaan kod:
[
'1',
'12',
'123',
'1234',
'12345',
]
Lihat juga
-
fungsi
sort,
yang mengisih dalam tertib menaik elemen -
fungsi
rsort,
yang mengisih dalam tertib menurun elemen -
fungsi
ksort,
yang mengisih dalam tertib menaik kunci -
fungsi
krsort,
yang mengisih dalam tertib menurun kunci -
fungsi
asort,
yang mengisih dalam tertib menaik elemen dengan pengekalan kunci -
fungsi
arsort,
yang mengisih dalam tertib menurun elemen dengan pengekalan kunci -
fungsi
natsort,
yang mengisih secara semula jadi -
fungsi
natcasesort,
yang mengisih secara semula jadi tanpa kes huruf -
fungsi
usort,
yang mengisih mengikut panggilan balik -
fungsi
uksort,
yang mengisih mengikut panggilan balik untuk kunci -
fungsi
uasort,
yang mengisih mengikut panggilan balik dengan pengekalan kunci -
fungsi
array_multisort,
yang mengisih beberapa array