Hàm asort() trong PHP

Hàm asort() trong PHP
Hàm asort() trong PHP

Chức năng của Hàm asort() trong PHP

Hàm asort() trong PHP dùng để sắp xếp các phần tử trong một mảng theo giá trị tăng dần và không xóa bỏ khóa (key) của các phần tử trong mảng, hàm này sắp xếp tất cả các phần tử có giá trị là số tăng dần hoặc sắp xếp tất cả phần tử có giá trị chuỗi tăng dần, nếu trong tất cả phần tử có cả giá trị 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 giá trị số.

Cú pháp của Hàm asort() trong PHP

asort($biến_mảng);

$biến_mảng: Biến của mảng.

Ví dụ Hàm asort() trong PHP

<h2>Hàm asort() sắp xếp giá trị chuỗi tăng dần</h2>
<?php
$manggiatrichu = array("Vân","Lực","Quỳnh");
asort($manggiatrichu);
foreach($manggiatrichu as $key => $value){
echo $key." - ".$value."<br>";
}?>

<h2>Hàm asort() sắp xếp giá trị số tăng dần</h2>
<?php 
$manggiatriso = array(29,35,1);
asort($manggiatriso);
foreach($manggiatriso as $key => $value){
echo $key." - ".$value."<br>";
}
?>

<h2>Hàm asort() sắp xếp giá trị số trong mảng liên kết tăng dần</h2>
<?php
$manglienket = array("Lực"=>"35", "Quỳnh"=>"1", "Vân"=>"29");
asort($manglienket);
foreach($manglienket as $key => $value) {
    echo "Key = " . $key . ", Value = " . $value;
    echo "<br>";
}
?>

Kết quả:

/////Hàm asort() sắp xếp giá trị chuỗi tăng dần
1 - Lực
2 - Quỳnh
0 - Vân

/////Hàm asort() sắp xếp giá trị số tăng dần
2 - 1
0 - 29
1 - 35

/////Hàm asort() sắp xếp giá trị số trong mảng liên kết tăng dần
Key = Quỳnh, Value = 1
Key = Vân, Value = 29
Key = Lực, Value = 35

Chạy Thử

Những lưu ý quan trọng khi sử dụng hàm asort() trong PHP

Khi sử dụng asort(), điều quan trọng nhất là hiểu cách hàm xử lý giá trị và key của mảng. Hàm này phù hợp khi cần sắp xếp dữ liệu theo giá trị nhưng vẫn muốn giữ mối liên hệ giữa từng key với giá trị ban đầu.

asort() giữ nguyên key của mảng như thế nào?

Khác với cách sắp xếp lại chỉ số của một số hàm xử lý mảng, asort() giữ nguyên key tương ứng với từng phần tử. Sau khi sắp xếp, giá trị có thể thay đổi vị trí nhưng key vẫn đi cùng giá trị đó.

Điều này đặc biệt hữu ích với mảng kết hợp, chẳng hạn khi key đại diện cho mã sản phẩm còn value là giá bán. Sau khi sắp xếp theo giá, mã sản phẩm vẫn được bảo toàn nên có thể xác định chính xác giá trị thuộc về đối tượng nào.

<?php
$prices = [
    "SP01" => 350000,
    "SP02" => 150000,
    "SP03" => 250000
];

asort($prices);

print_r($prices);
?>

Kết quả sẽ được sắp xếp theo giá từ thấp đến cao, trong khi các key SP01, SP02SP03 vẫn được giữ nguyên. Vì vậy, nếu dữ liệu cần duy trì quan hệ giữa tên định danh và giá trị, asort() là lựa chọn phù hợp.

Khi nào nên dùng asort() thay vì sort()?

Nên chọn asort() khi thứ tự của các giá trị cần thay đổi nhưng key vẫn có ý nghĩa đối với dữ liệu. Đây là trường hợp thường gặp khi xử lý mảng kết hợp chứa thông tin sản phẩm, người dùng, điểm số hoặc các dữ liệu được gắn mã định danh.

Ngược lại, nếu key không có giá trị sử dụng sau khi sắp xếp và chỉ cần một mảng được sắp xếp lại theo giá trị, sort() có thể phù hợp hơn.

Điểm cần nhớ là lựa chọn hàm không chỉ phụ thuộc vào việc muốn sắp xếp tăng hay giảm, mà còn phụ thuộc vào việc có cần bảo toàn key ban đầu hay không. Đây là yếu tố giúp tránh làm mất mối liên hệ giữa dữ liệu sau khi sắp xếp.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Hàm asort() 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 asort() 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) !