Hàm krsort() trong PHP
Trần Thị Vân
- 1210
- 29/07/2025
Chức năng của Hàm krsort() trong PHP
Hàm krsort() trong PHP dùng để sắp xếp các phần tử trong một mảng theo Khóa (Key) giảm dần, hàm này sắp xếp tất cả các phần tử có Khóa (Key) là số giảm dần hoặc sắp xếp tất cả phần tử có Khóa (Key) là chuỗi giảm dần, nếu trong tất cả phần tử có cả Khóa (Key) số và chữ thì nó lấy các ký tự đầu tiên trong chuỗi là số để sắp xếp với các Khóa (Key) số.
Cú pháp của Hàm krsort() trong PHP
krsort($biến_mảng);
$biến_mảng: Biến của mảng.
Ví dụ Hàm krsort() trong PHP
<h2>Hàm krsort() sắp xếp Khóa (key) là chuỗi giảm dần</h2>
<?php
$mangkhoachuoi = array("Lực"=>"35", "Quỳnh"=>"1", "Vân"=>"29");
krsort($mangkhoachuoi);
foreach($mangkhoachuoi as $key => $value) {
echo "Key = " . $key . ", Value = " . $value;
echo "<br>";
}
?>
<h2>Hàm krsort() sắp xếp Khóa (key) là số giảm dần</h2>
<?php
$mangkhoaso = array(35=>"Lực", 2 =>"Quỳnh", 29 =>"Vân");
krsort($mangkhoaso);
foreach($mangkhoaso as $key => $value) {
echo "Key = " . $key . ", Value = " . $value;
echo "<br>";
}
?>
<h2>Hàm krsort() sắp xếp Khóa (key) giảm dần</h2>
<?php
$manggiatrichu = array("Vân","Lực","Quỳnh");
krsort($manggiatrichu);
foreach($manggiatrichu as $key => $value){
echo $key." - ".$value."<br>";
}?>
Kết quả:
/////Hàm krsort() sắp xếp Khóa (key) là chuỗi giảm dần
Key = Vân, Value = 29
Key = Quỳnh, Value = 1
Key = Lực, Value = 35
/////Hàm krsort() sắp xếp Khóa (key) là số giảm dần
Key = 35, Value = Lực
Key = 29, Value = Vân
Key = 2, Value = Quỳnh
/////Hàm krsort() sắp xếp Khóa (key) giảm dần
2 - Quỳnh
1 - Lực
0 - Vân
Những điểm cần lưu ý khi sử dụng hàm krsort() trong PHP
Khi sử dụng krsort(), điều quan trọng không chỉ là sắp xếp Key theo thứ tự giảm dần mà còn phải hiểu cách hàm tác động đến mảng ban đầu. Việc nắm rõ đặc điểm này giúp hạn chế lỗi khi xử lý dữ liệu và lựa chọn đúng hàm sắp xếp trong từng trường hợp.
Hàm krsort() thay đổi trực tiếp mảng ban đầu
krsort() thực hiện sắp xếp ngay trên mảng được truyền vào và không tạo ra một mảng mới để chứa kết quả. Vì vậy, sau khi gọi hàm, thứ tự phần tử của mảng ban đầu đã được thay đổi.
Đây là điểm cần lưu ý nếu mảng còn được sử dụng cho những thao tác khác. Nếu muốn giữ nguyên dữ liệu ban đầu, bạn nên tạo một bản sao của mảng trước khi sắp xếp.
<?php
$data = [
"php" => "PHP",
"css" => "CSS",
"html" => "HTML"
];
$sortedData = $data;
krsort($sortedData);
print_r($data);
print_r($sortedData);
?>
Trong ví dụ trên, $data vẫn giữ nguyên thứ tự ban đầu, còn $sortedData được sắp xếp theo Key giảm dần.
Hàm krsort() giữ nguyên mối liên kết giữa Key và Value
Khi sắp xếp, krsort() chỉ thay đổi vị trí của các cặp Key và Value trong mảng. Value vẫn đi cùng Key tương ứng, vì vậy dữ liệu liên kết không bị tách rời.
Đặc điểm này đặc biệt hữu ích với các mảng kết hợp chứa dữ liệu theo dạng Key => Value. Sau khi sắp xếp, bạn vẫn có thể truy cập Value thông qua đúng Key ban đầu.
<?php
$prices = [
"iphone" => 15000000,
"samsung" => 12000000,
"xiaomi" => 8000000
];
krsort($prices);
foreach ($prices as $product => $price) {
echo $product . ": " . $price;
}
?>
Trong trường hợp này, tên sản phẩm và giá tương ứng vẫn được giữ nguyên với nhau. Hàm chỉ thay đổi thứ tự xuất hiện dựa trên Key.
Phân biệt hàm krsort() với ksort() và rsort() trong PHP
Ba hàm này đều phục vụ việc sắp xếp mảng nhưng tiêu chí xử lý khác nhau. krsort() sắp xếp Key theo thứ tự giảm dần, trong khi ksort() sắp xếp Key theo thứ tự tăng dần. Còn rsort() tập trung sắp xếp Value theo thứ tự giảm dần và không phù hợp khi cần bảo toàn Key của mảng kết hợp.
| Hàm | Tiêu chí sắp xếp | Thứ tự |
|---|---|---|
| ksort() | Key | Tăng dần |
| krsort() | Key | Giảm dần |
| rsort() | Value | Giảm dần |
Do đó, nếu yêu cầu là sắp xếp một mảng kết hợp dựa trên Key từ lớn đến nhỏ nhưng vẫn giữ nguyên cặp dữ liệu tương ứng, krsort() là lựa chọn phù hợp.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Hàm krsort() trong PHP.
- 0 Bình luận
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *