1. Hàm arsort() trong PHP

Hàm arsort() trong PHP được dùng để sắp xếp một mảng trong PHP. Cụ thể hàm arsort() sẽ sắp xếp mảng theo thứ tự giảm dần theo các giá trị của mảng và duy trì liên kết chỉ mục. Hàm arsort() sẽ sắp xếp theo cách mà mối quan hệ giữa các chỉ số và giá trị được duy trì. Có nghĩa là sắp xếp mảng theo thứ tự giảm dần, sao cho các key của nó duy trì mối tương quan của chúng với các giá trị mà chúng được liên kết. Ta chủ yếu sử dụng hàm này khi sắp xếp các mảng liên hợp khi mà thứ tự phần tử thực sự của nó là đặc biệt quan trọng. Hàm arsort() được giới thiệu và sử dụng từ phiên bản PHP 4.0

2. Cú pháp của hàm arsort() trong PHP

Ta có cú pháp của hàm arsort() trong PHP là :

arsort ($array, $type)

Trong đó :

  • $array : mảng đầu vào mà ta cần xử lý. Tham số này là bắt buộc trong hàm
  • $type : Tham số này chỉ định tên của một hàm do người dùng định nghĩa sẽ được sử dụng để sắp xếp các key của mảng $array . Hàm so sánh này được gán là một số nguyên. Tham số này là không bắt buộc trong hàm

Ta có những giá trị của $type là :

  • 0 = SORT_REGULAR : giá trị mặc định của $type . Nó sẽ so sánh các value một cách bình thường mà không thay đổi loại
  • 1 = SORT_NUMERIC : so sánh các value dưới dạng số
  • 2 = SORT_STRING : so sánh các value dưới dạng chuỗi
  • 3 = SORT_LOCALE_STRING : so sánh các value dưới dạng chuỗi và dựa trên ngôn ngữ hiện tại
  • 4 = SORT_NATURAL : So sánh các value dưới dạng chuỗi bằng cách sử dụng thứ tự tự nhiên
  • 5 = SORT_FLAG_CASE : sử dụng kết hợp với SORT_STRING hoặc SORT_NATURAL để sắp xếp chuỗi mà không phân biệt chữ hoa chữ thường.

Hàm arsort() sẽ trả về True khi đã sắp xếp thành công. Ngược lại giá trị False sẽ được trả về nếu như thất bại.

Ví dụ : Sắp xếp một mảng kết hợp theo thứ tự giảm dần (theo value)

<?php
$a1 = array("PHP"=>"35","Java"=>"37","Python"=>"43");
arsort($a1);

echo '<pre>';
print_r($a1);

?>

Kết quả

Array
(
    [Python] => 43
    [Java] => 37
    [PHP] => 35
)

3. Ví dụ về hàm arsort() trong PHP

Ví dụ 1: sử dụng vòng lặp để hiển thị kết quả

<?php
$arr = array("0" => "PHP",
            "1" => "Java",
            "2" => "Python",
            "3" => "JavaScript",
            "4" => "SQL",
            "5" => "CSS",
            "6" => "HTML",
            "7" => "C"
        );

arsort($arr);

foreach ($arr as $key => $val) {
    echo "[$key] = $val";
    echo"<br>";
}
?>

Kết quả

[4] = SQL
[2] = Python
[0] = PHP
[3] = Javascript
[1] = Java
[6] = HTML
[5] = CSS
[7] = C

Ví dụ 2:

<?php
$arr = array("a" => 11,
            "b" => 22,
            "d" => 33,
            "n" => 44,
            "o" => 55,
            "p" => 66,
            "p" => 77,
            "q" => 88,
        );
arsort($arr);
    
foreach ($arr as $key => $val) {
    echo "[$key] = $val";
    echo"<br>";
}

?>

Kết quả

[q] = 88
[p] = 77
[o] = 55
[n] = 44
[d] = 33
[b] = 22
[a] = 11

Ví dụ 3:

<?php

$arr = array("0" => "PHP",
            "1" => "Java",
            "2" => "Python",
            "3" => "JavaScript",
            "4" => "SQL",
            "5" => "CSS",
            "6" => "HTML",
            "7" => "C"
        );

arsort($arr,2);

foreach ($arr as $key => $val) {
    echo "[$key] = $val";
    echo"<br>";
}

?>

Kết quả

[4] = SQL
[2] = Python
[0] = PHP
[3] = Javascript
[1] = Java
[6] = HTML
[5] = CSS
[7] = C