Hàm uasort
Hàm uasort sắp xếp một mảng
theo thứ tự tăng dần của phần tử, đồng thời giữ nguyên
các khóa của mảng kết hợp.
Hàm uasort sắp xếp mảng
theo giá trị phần tử, sử dụng một
hàm callback để xác định thứ tự
các phần tử trong mảng đã sắp xếp.
Hàm này thay đổi chính mảng đó.
Hàm so sánh phải trả về một số nguyên, mà tùy thuộc vào kết quả so sánh: nhỏ hơn, bằng hoặc lớn hơn không.
Hàm thay đổi chính mảng đó.
Cú pháp
uasort(array &$array, int $flags = SORT_REGULAR): bool
Ví dụ
Hãy sắp xếp mảng theo thứ tự tăng dần các phần tử:
<?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);
?>
Kết quả thực thi mã:
[
'b' => 1,
'c' => 2,
'e' => 3,
'd' => 4,
'a' => 5,
]
Ví dụ
Và bây giờ hãy sắp xếp mảng theo thứ tự tăng dần số lượng ký tự trong các phần tử của mảng:
<?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);
?>
Kết quả thực thi mã:
[
'b' => '1',
'd' => '12',
'a' => '123',
'e' => '1234',
'c' => '12345',
]
Xem thêm
-
hàm
sort,
hàm sắp xếp theo thứ tự tăng dần phần tử -
hàm
rsort,
hàm sắp xếp theo thứ tự giảm dần phần tử -
hàm
ksort,
hàm sắp xếp theo thứ tự tăng dần khóa -
hàm
krsort,
hàm sắp xếp theo thứ tự giảm dần khóa -
hàm
asort,
hàm sắp xếp theo thứ tự tăng dần phần tử đồng thời giữ nguyên khóa -
hàm
arsort,
hàm sắp xếp theo thứ tự giảm dần phần tử đồng thời giữ nguyên khóa -
hàm
natsort,
hàm sắp xếp theo cách tự nhiên -
hàm
natcasesort,
hàm sắp xếp theo cách tự nhiên không phân biệt chữ hoa chữ thường -
hàm
usort,
hàm sắp xếp theo callback -
hàm
uksort,
hàm sắp xếp theo callback dựa trên khóa -
hàm
uasort,
hàm sắp xếp theo callback đồng thời giữ nguyên khóa -
hàm
array_multisort,
hàm sắp xếp nhiều mảng