Sắp xếp Mảng

Bài hướng dẫn này, bạn sẽ học cách sắp xếp các phần tử hoặc khóa của một mảng theo thứ tự tăng dần hoặc giảm dần với PHP.

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.

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:

Mảng ([0] => Xanh lam [1] => Xanh lục [2] => Đỏ [3] => Vàng)

 

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:

Mảng ([0] => 1 [1] => 2 [2] => 2,5 [3] => 4 [4] => 7 [5] => 10)

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:

Mảng ([0] => Vàng [1] => Đỏ [2] => Xanh lục [3] => Xanh lam)
 

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:

Mảng ([0] => 10 [1] => 7 [2] => 4 [3] => 2,5 [4] => 2 [5] => 1)

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:

Mảng ([Harry] => 14 [Peter] => 20 [Clark] => 35 [John] => 45)

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:

Mảng ([John] => 45 [Clark] => 35 [Peter] => 20 [Harry] => 14)

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:

Mảng ([Clark] => 35 [Harry] => 14 [John] => 45 [Peter] => 20)

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:

Mảng ([Peter] => 20 [John] => 45 [Harry] => 14 [Clark] => 35)
 
Bài viết mới cập nhật