PHP uksort()

Hàm uksort() trong PHP

Hàm uksort() trong PHP được sử dụng để sắp xếp các phần tử trong một mảng theo thứ tự của các khóa (keys) của chúng. Hàm này cho phép bạn định nghĩa một hàm so sánh tùy chỉnh để xác định cách các khóa được sắp xếp.

Cú pháp

uksort(array &$array, callable $callback): int

Tham số

  • array &$array: Mảng cần được sắp xếp. Tham số này được truyền bằng tham chiếu.
  • callable $callback: Một hàm gọi lại (callback) được sử dụng để so sánh các khóa. Hàm này nhận hai đối số và phải trả về một giá trị nguyên. Nếu giá trị trả về là âm, khóa đầu tiên sẽ được sắp xếp trước khóa thứ hai; nếu là dương, khóa thứ hai sẽ đứng trước; và nếu bằng 0, thứ tự của chúng sẽ không thay đổi.

Giá trị trả về

Hàm uksort() trả về 0 nếu mảng đã được sắp xếp thành công, hoặc -1 nếu có lỗi xảy ra.

Ví dụ

$array = array("b" => 3, "a" => 2, "c" => 1);

uksort($array, function($key1, $key2) {
    return strcmp($key1, $key2);
});

print_r($array);

Trong ví dụ trên, chúng ta đã tạo một mảng với các khóa không theo thứ tự. Sau đó, chúng ta sử dụng hàm uksort() với một hàm so sánh tùy chỉnh để sắp xếp mảng theo thứ tự tăng dần của các khóa. Kết quả sẽ là mảng được sắp xếp với các khóa theo thứ tự: "a", "b", "c".

Lưu ý

Hàm uksort() chỉ ảnh hưởng đến thứ tự của các khóa trong mảng, không ảnh hưởng đến giá trị tương ứng của các khóa đó.