1. Hàm krsort() trong PHP

Hàm krsort() trong PHP được dùng để sắp xếp mảng trong PHP . Sự sắp xếp này sẽ dựa vào các key trong mảng và được sắp xếp theo thứ tự giảm dần. Các key sẽ được so sánh và sắp xếp theo thứ tự alphabet đảo ngược ( bảng chữ cái tiếng anh) . Sự tương quan giữa các cặp key => value vẫn sẽ được giữ nguyên. Con trỏ nội bộ của mảng sẽ được đặt lại ở vị trí đầu tiên trong mảng. Nếu hai key được so sánh bằng nhau thì chúng vẫn sẽ giữ nguyên thứ tự ở vị trí ban đầu. Hàm krsort() đượ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 krsort() trong PHP

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

krsort($array, $type )

Trong đó :

  • $array : là mảng đầu vào mà ta muốn sắp xếp . Tham số này là bắt buộc trong hàm
  • $type : quy định kiểu sắp xếp . Ta có thể sử dụng những kiểu sắp xếp khác nhau và mặc định sẽ là SORT_REGULAR (so sánh một cách bình thường mà không thay đổi loại) . Đây là tham số tùy chọn trong hàm

Hàm krsort() sau khi sắp xếp mảng đầu vào thành công sẽ trả về True. Ngược lại thì False sẽ được trả về nếu như sắp xếp mảng không thành công. Ngoài ra ta có thể sử dụng và đặt một số giá trị của $type như sau :

  • 0 = SORT_REGULAR : giá trị mặc định của $type . Nó sẽ so sánh một cách bình thường mà không thay đổi loại
  • 1 = SORT_NUMERIC : so sánh dựa vào số
  • 2 = SORT_STRING : so sánh dựa vào chuỗi
  • 3 = SORT_LOCALE_STRING : so sánh dưới dạng chuỗi và dựa trên ngôn ngữ hiện tại
  • 4 = SORT_NATURAL : So sánh dựa vào 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

Ví dụ : sắp xếp một mảng theo thứ tự giảm dần

<?php
$a1=array("PHP"=>"3","Java"=>"4","Python"=>"5");

echo(krsort($a1));
?>

Kết quả

1

Khi sử dụng hàm krsort() với mảng $a1 thì ta thấy giá trị trả về là 1 nghĩa là True . Vậy là việc sắp xếp mảng $a1 bằng hàm krsort() đã thành công. Lúc này khi in ra mảng $a1 thì nó đã được sắp xếp theo thứ tự giảm dần theo key của mảng.

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

Ví dụ 1:

<?php 
$a1=array("PHP"=>"3","Java"=>"4","Python"=>"5"); 

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

Kết quả

Array
(
    [Python] => 5
    [PHP] => 3
    [Java] => 4
)

Ví dụ 2: sử dụng một vòng lặp để in ra mảng

<?php
$a1=array("PHP"=>"3","Java"=>"4","Python"=>"5");
krsort($a1);

foreach($a1 as $x=>$x_value)
   {
   echo "Key = " . $x . ", Value = " . $x_value;
   echo "<br>";
   }
?>

Kết quả

Key = Python, Value = 5
Key = PHP, Value = 3
Key = Java, Value = 4

Ví dụ 3:

<?php  
$b = array("html","java","php");  
krsort($b); 
echo '<pre>';
print_r($b);  
?>

Kết quả

Array
(
    [2] => php
    [1] => java
    [0] => html
)