NTM Solutions

Thứ Hai, 15 tháng 6, 2026

📘Bài 15 — Sắp xếp mảng trong PHP🔢

x0

Trong thực tế lập trình, dữ liệu thường cần được sắp xếp trước khi hiển thị cho người dùng.

Ví dụ:

  • Danh sách sản phẩm theo giá tăng dần

  • Bảng điểm từ cao xuống thấp

  • Danh sách thành viên theo tên A → Z

  • Sắp xếp dữ liệu theo mã hoặc ID

PHP cung cấp nhiều hàm sắp xếp có sẵn giúp xử lý cực kỳ nhanh.


1️⃣ sort() — Sắp xếp tăng dần

Sắp xếp giá trị từ nhỏ đến lớn hoặc A → Z.

<?php

$numbers = [5, 2, 8, 1, 9];

sort($numbers);

print_r($numbers);

?>

Kết quả:

Array
(
    [0] => 1
    [1] => 2
    [2] => 5
    [3] => 8
    [4] => 9
)

Ví dụ chuỗi:

<?php

$fruits = ["Cam", "Táo", "Chuối"];

sort($fruits);

print_r($fruits);

?>

Kết quả:

Array
(
    [0] => Cam
    [1] => Chuối
    [2] => Táo
)

⚠️ Lưu ý

sort() sẽ:

  • Sắp xếp lại giá trị

  • Đánh lại chỉ số từ 0

Ví dụ:

<?php

$data = [
    10 => "PHP",
    20 => "Java",
    30 => "Python"
];

sort($data);

print_r($data);

?>

Kết quả:

Array
(
    [0] => Java
    [1] => PHP
    [2] => Python
)

Key cũ bị mất.


2️⃣ rsort() — Sắp xếp giảm dần

Ngược lại với sort().

<?php

$numbers = [5, 2, 8, 1, 9];

rsort($numbers);

print_r($numbers);

?>

Kết quả:

Array
(
    [0] => 9
    [1] => 8
    [2] => 5
    [3] => 2
    [4] => 1
)

Ví dụ bảng điểm:

<?php

$scores = [8, 10, 6, 9, 7];

rsort($scores);

print_r($scores);

?>

Kết quả:

10
9
8
7
6

3️⃣ asort() — Sắp xếp theo VALUE và giữ KEY

Rất hữu ích với mảng kết hợp.

<?php

$students = [
    "Nam" => 8,
    "Lan" => 10,
    "Huy" => 7
];

asort($students);

print_r($students);

?>

Kết quả:

Array
(
    [Huy] => 7
    [Nam] => 8
    [Lan] => 10
)

Key được giữ nguyên.

Điều này rất quan trọng khi:

  • Danh sách sản phẩm

  • Danh sách người dùng

  • Danh sách điểm số


4️⃣ ksort() — Sắp xếp theo KEY

Thay vì sắp xếp giá trị, hàm này sắp xếp khóa.

<?php

$students = [
    "Nam" => 8,
    "Lan" => 10,
    "Huy" => 7
];

ksort($students);

print_r($students);

?>

Kết quả:

Array
(
    [Huy] => 7
    [Lan] => 10
    [Nam] => 8
)

Ví dụ mã sản phẩm:

<?php

$products = [
    "SP003" => "Laptop",
    "SP001" => "Chuột",
    "SP002" => "Bàn phím"
];

ksort($products);

print_r($products);

?>

Kết quả:

SP001
SP002
SP003

🎯 So sánh nhanh

🔢🛠️ Hàm📋 Sắp xếp theo🔑 Giữ key?
1️⃣sort()Value tăng dần❌ Không
2️⃣rsort()Value giảm dần❌ Không
3️⃣asort()Value tăng dần✅ Có
4️⃣ksort()Key tăng dần✅ Có

💡 Ví dụ thực tế

Sắp xếp bảng điểm học sinh:

<?php

$scores = [
    "Nam" => 8,
    "Lan" => 10,
    "Huy" => 7,
    "Minh" => 9
];

arsort($scores);

foreach ($scores as $name => $score) {
    echo $name . " : " . $score . "<br>";
}

?>

Kết quả:

Lan : 10
Minh : 9
Nam : 8
Huy : 7

Đây chính là cách tạo bảng xếp hạng đơn giản.


🧠 Ghi nhớ

✅ sort() → tăng dần theo giá trị

✅ rsort() → giảm dần theo giá trị

✅ asort() → tăng dần theo giá trị và giữ key

✅ ksort() → tăng dần theo key

✅ Các hàm sắp xếp của PHP hoạt động trực tiếp trên mảng gốc


🏆 Bài tập thực hành

Bài 1

Tạo mảng:

[15, 8, 20, 3, 12]

Sắp xếp tăng dần bằng sort().


Bài 2

Sắp xếp giảm dần mảng trên bằng rsort().


Bài 3

Tạo mảng:

[
    "PHP" => 9,
    "Java" => 7,
    "Python" => 10
]

Sử dụng asort().


Bài 4

Sử dụng ksort() với:

[
    "C" => 1,
    "A" => 2,
    "B" => 3
]

Bài 5

Tạo bảng xếp hạng điểm số bằng foreach kết hợp arsort().

🎉 Bài tiếp theo: Bài 16 — GLOBAL & SUPER GLOBAL, nơi chúng ta sẽ tìm hiểu cách PHP trao đổi dữ liệu giữa các file, URL, form và máy chủ.

╔══════════════════════════════╗
🤖 Made by AI • PHP Journey 🐘
╚══════════════════════════════╝
quay về MỤC LỤC

Không có nhận xét nào:

Đăng nhận xét

Facebook Youtube RSS