Sắp xếp mảng có chỉ số tăng dần
Thuộc phần Logic và luồng chương trình trong hành trình PHP của Coddy. Bài học 20 trên 68.
Khi cần sắp xếp dữ liệu theo thứ tự hợp lý, hàm (function) sort() của PHP giúp bạn dễ dàng sắp xếp mảng được đánh chỉ số theo thứ tự tăng dần. Dù làm việc với số hay chuỗi, hàm này sẽ tự động sắp xếp các phần tử từ nhỏ đến lớn hoặc theo thứ tự bảng chữ cái từ A đến Z.
Đây là cách sort() hoạt động với một mảng số cơ bản:
<?php
$numbers = [45, 12, 78, 23, 56];
sort($numbers);
print_r($numbers);
// Đầu ra: Array ( [0] => 12 [1] => 23 [2] => 45 [3] => 56 [4] => 78 )
?>Một đặc điểm quan trọng của sort() là hàm này sửa đổi trực tiếp mảng ban đầu, thay vì tạo một bản sao mới đã sắp xếp. Điều này có nghĩa là sau khi gọi sort(), mảng ban đầu của bạn sẽ thay đổi vĩnh viễn để phản ánh thứ tự mới.
Hàm này cũng hoạt động tốt với chuỗi, sắp xếp chúng theo thứ tự bảng chữ cái. Điều này khiến sort() đặc biệt hữu ích khi sắp xếp danh sách tên, sắp xếp các mặt hàng tồn kho hoặc chuẩn bị dữ liệu để hiển thị theo định dạng thân thiện với người dùng.
Thử thách
DễBạn sẽ nhận một đầu vào: một mảng điểm kiểm tra ở định dạng JSON. Đọc đầu vào, chuyển chuỗi JSON thành mảng, dùng sort() để sắp xếp điểm theo thứ tự tăng dần và in mảng đã sắp xếp bằng print_r().
Định dạng đầu vào: Một dòng chứa một mảng JSON gồm các số (ví dụ: [78,92,65,88,71])
Đầu ra mong đợi: Mảng đã sắp xếp theo thứ tự tăng dần, được hiển thị bằng print_r()
Tự làm thử
<?php
// Đọc đầu vào
$input = trim(fgets(STDIN));
// Chuyển chuỗi JSON thành mảng
$scores = json_decode($input, true);
// TODO: Viết code bên dưới để sắp xếp mảng
// In ra mảng đã sắp xếp
print_r($scores);
?>Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Logic và luồng chương trình
1Hàm nâng cao
Hàm ẩn danhClosure và 'use'Hàm mũi tênHàm callbackDùng 'call_user_func'Hàm biếnTruyền tham chiếuHàm đệ quyÔn tập: tổng hợp về hàm4Mảng đa chiều
Tạo mảng 2 chiềuTruy cập phần tử trong mảng 2 chiềuChỉnh sửa phần tử trong mảng 2 chiềuLặp qua các vòng lặp lồng nhauMảng kết hợp 2 chiềuÔn tập: bài tập lưới đơn giản2Thao tác nâng cao với mảng
Thêm phần tử bằng 'array_push'Xóa phần tử bằng 'array_pop'Thêm phần tử vào đầu mảng bằng 'array_unshift'Xóa phần tử đầu mảng bằng 'array_shift'Gộp các mảng được đánh chỉ sốGộp các mảng kết hợpTrích xuất phần tử bằng 'array_slice'Kiểm tra giá trị bằng 'in_array'Tìm khóa bằng 'array_search'Ôn tập: bài tập về danh sách phát3Sắp xếp mảng
Sắp xếp mảng có chỉ số tăng dầnSắp xếp mảng có chỉ số giảm dầnSắp xếp mảng kết hợp theo giá trịSắp xếp mảng kết hợp theo khóaSắp xếp theo thứ tự tự nhiênSắp xếp tùy chỉnh bằng 'usort'Ôn tập: Sắp xếp bảng xếp hạngTự luyện tập: Trình biên dịch PHP online