Hàm krsort() trong PHP

Hàm krsort() trong PHP
Hàm krsort() trong PHP

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

Chạy Thử

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
Trần Thị Vân | Content Creator Web Mới
Trần Thị Vân
Trần Thị Vân là Content Creator tại Web Mới, phụ trách nghiên cứu, biên soạn nội dung và chia sẻ kiến thức về website, SEO, lập trình cùng các xu hướng công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Hàm krsort() trong PHP
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 *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !