PHP Cơ bản
PHP Nâng cao
PHP & Cơ sở dữ liệu MySQL
Ví dụ PHP
Tài liệu tham khảo PHP
Quảng cáo

Sắp xếp Mảng trong PHP

Trong 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 trong PHP.

Các hàm PHP để sắp xếp mảng

Trong chương 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 chúng, 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, v.v. 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 đi kèm với một số hàm tích hợp đượ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 hoặc 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.

  • sort()và rsort()- Để sắp xếp các mảng được lập chỉ mục
  • asort()và arsort()- Để sắp xếp các mảng kết hợp theo giá trị
  • ksort()và krsort()- Để sắp xếp các mảng kết hợp theo khóa

Sắp xếp các mảng được lập chỉ mục theo thứ tự tăng dần

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 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ả sau:

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

Sắp xếp các mảng được lập chỉ mục theo thứ tự giảm dần

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ự (theo thứ tự abc cho chữ cái và số lượng cho số) giảm dần.

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ả 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ả sau:

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

Sắp xếp các mảng liên kết theo thứ tự tăng dần theo giá trị

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ậy sort(), 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 cho kết quả sau:

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

Sắp xếp Mảng liên kết theo thứ tự giảm dần theo giá trị

Hàm arsort() 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ày cho 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ả 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 và 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ả sau:

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

Bài viết này đã giúp ích cho bạn?

Advertisements