Mục lục
Các hàm sắp xếp mảng trong PHP
Trong các bài viết trước, bạn đã học những kiến thức cơ bản về mảng PHP, tức là mảng là gì, cách tạo, cách xem cấu trúc của chúng, cách truy cập các phần tử của chúng,...
Bạn có thể làm nhiều việc hơn nữa với mảng như: sắp xếp các phần tử trong bất kỳ kiểu thứ tự nào bạn thích.
PHP đã tích hợp một số hàm, được thiết kế đặc biệt, để sắp xếp các phần tử mảng theo nhiều cách khác nhau như theo thứ tự bảng chữ cái hoặc số theo thứ tự tăng dần hay giảm dần.
Ở đây chúng ta sẽ khám phá một số hàm thường được sử dụng nhất để sắp xếp mảng.
- Hàm sort() trong PHP và Hàm rsort() trong PHP - Để sắp xếp các mảng được lập chỉ mục
- Hàm ksort() trong PHP và Hàm krsort() trong PHP - Để sắp xếp các mảng kết hợp theo khóa
- Hàm asort() trong PHP và Hàm arsort() trong PHP - Để sắp xếp các mảng kết hợp theo giá trị
Sắp xếp theo thứ tự tăng dần của mảng được lập chỉ mục
Hàm sort()
được sử dụng để phân loại các yếu tố của mảng lập chỉ mục trong thứ tự tăng dần - theo thứ tự abc cho chữ cái và số lượng cho số
Ví dụ
<?php
// Xác định mảng
$colors = array("Red", "Green", "Blue", "Yellow");
// Sắp xếp và in ra
sort($colors);
print_r($colors);
?>
Câu lệnh print_r()
này sẽ cho kết quả sau:
Tương tự, bạn có thể sắp xếp các phần tử số của mảng theo thứ tự tăng dần.
Ví dụ
<?php
// Xác định mảng
$numbers = array(1, 2, 2.5, 4, 7, 10);
// Sắp xếp và in ra
sort($numbers);
print_r($numbers);
?>
Câu lệnh print_r()
này cho kết quả như sau:
Sắp xếp theo thứ tự giảm dần của mảng được lập chỉ mục
Hàm rsort()
được sử dụng để phân loại các yếu tố của mảng được lập chỉ mục theo thứ tự giảm dần -theo thứ tự abc cho chữ cái và số lượng cho số.
Ví dụ
<?php
// Define array
$colors = array("Red", "Green", "Blue", "Yellow");
// Sorting and printing array
rsort($colors);
print_r($colors);
?>
Câu lệnh print_r()
này cho kết quả như sau:
Tương tự, bạn có thể sắp xếp các phần tử số của mảng theo thứ tự giảm dần.
Ví dụ
<?php
// Define array
$numbers = array(1, 2, 2.5, 4, 7, 10);
// Sorting and printing array
rsort($numbers);
print_r($numbers);
?>
Câu lệnh print_r()
này cho kết quả như sau:
Sắp xếp theo thứ tự tăng dần theo giá trị của mảng liên kết
Hàm asort()
sắp xếp các yếu tố của một mảng kết hợp trong thứ tự tăng dần theo giá trị. Nó hoạt động giống như vậysort()
, nhưng nó bảo toàn mối liên kết giữa các khóa và các giá trị của nó trong khi sắp xếp.
Ví dụ
<?php
// Define array
$age = array("Peter"=>20, "Harry"=>14, "John"=>45, "Clark"=>35);
// Sorting array by value and print
asort($age);
print_r($age);
?>
Câu lệnh print_r()
này sẽ cho kết quả sau:
Sắp xếp theo thứ tự giảm dần theo giá trị của mảng liên kết
Hàmarsort()
sắp xếp các yếu tố của một mảng kết hợp trong thứ tự giảm dần theo giá trị. Nó hoạt động giống như vậy rsort()
, nhưng nó bảo toàn mối liên kết giữa các khóa và các giá trị của nó trong khi sắp xếp.
Ví dụ
<?php
// Define array
$age = array("Peter"=>20, "Harry"=>14, "John"=>45, "Clark"=>35);
// Sorting array by value and print
arsort($age);
print_r($age);
?>
Câu lệnh print_r()
nàycho kết quả sau:
Sắp xếp các mảng liên kết theo thứ tự tăng dần theo khóa
Hàmksort()
sắp xếp các yếu tố của một mảng kết hợp trong thứ tự tăng dần của các phím của họ. Nó bảo toàn mối liên kết giữa các khóa và các giá trị của nó trong khi sắp xếp, giống như hàm asort()
.
Ví dụ
<?php
// Define array
$age = array("Peter"=>20, "Harry"=>14, "John"=>45, "Clark"=>35);
// Sorting array by key and print
ksort($age);
print_r($age);
?>
Câu lệnh print_r()
này cho kết quả như sau:
Sắp xếp các mảng liên kết theo thứ tự giảm dần theo khóa
Hàm krsort()
sắp xếp các yếu tố của một mảng kết hợp trong thứ tự giảm dần của các phím của họ.
Nó bảo toàn mối liên kết giữa các khóa & các giá trị của nó trong khi sắp xếp, giống như hàm arsort()
.
Ví dụ
<?php
// Define array
$age = array("Peter"=>20, "Harry"=>14, "John"=>45, "Clark"=>35);
// Sorting array by key and print
krsort($age);
print_r($age);
?>
Câu lệnh print_r()
này cho kết quả như sau: