Sắp xếp tăng dần trong php



Các phần tử trong một mảng có thể được sắp xếp theo thứ tự bảng chữ cái hoặc số, giảm dần hoặc tăng dần.

Nội dung chính

  • Các hàm sắp xếp mảng trong PHP:
  • Hàm sort() - sắp xếp các mảng theo thứ tự tăng dần
  • Hàm rsort() - sắp xếp các mảng theo thứ tự giảm dần.
  • Hàm asort() - sắp xếp các mảng liên kết theo thứ tự tăng dần, theo giá trị.
  • Hàm ksort() - sắp xếp các mảng liên kết theo thứ tự tăng dần, theo khóa.
  • Hàm arsort() - sắp xếp các mảng liên kết theo thứ tự giảm dần, theo giá trị.
  • Hàm krsort() - sắp xếp các mảng liên kết theo thứ tự giảm dần, theo khóa.
  • Các hàm xử lý mảng trong PHP

Trong bài này, chúng ta sẽ học các hàm sắp xếp mảng trong PHP như sau:

  • sort() - sắp xếp các mảng theo thứ tự tăng dần.
  • rsort() - sắp xếp các mảng theo thứ tự giảm dần.
  • asort() - sắp xếp các mảng liên kết theo thứ tự tăng dần, theo giá trị.
  • ksort() - sắp xếp các mảng liên kết theo thứ tự tăng dần, theo khóa.
  • arsort() - sắp xếp các mảng liên kết theo thứ tự giảm dần, theo giá trị.
  • krsort() - sắp xếp các mảng liên kết theo thứ tự giảm dần, theo khóa.


Hàm sort() - sắp xếp các mảng theo thứ tự tăng dần

Ví dụ sau sắp xếp các phần tử của mảng $cars theo thứ tự chữ cái tăng dần:

<?php
$cars = array("Volvo", "BMW", "Toyota");
sort($cars);

foreach( $cars as $c) {
    echo "$c <br>";
}
?>

Kết quả:

Ví dụ sau sắp xếp các phần tử của mảng $ number theo thứ tự số tăng dần:

<?php
$numbers = array(4, 6, 2, 22, 11);
sort($numbers);
 
foreach( $numbers as $n) {
    echo "$n <br>";
}
?>

Kết quả:


Hàm rsort() - sắp xếp các mảng theo thứ tự giảm dần.

Ví dụ sau sắp xếp các phần tử của mảng $cars theo thứ tự chữ cái giảm dần:

<?php
$cars = array("Volvo", "BMW", "Toyota");
rsort($cars);
 
foreach( $cars as $c) {
    echo "$c <br>";
}
?>

Kết quả:

Ví dụ sau sắp xếp các phần tử của mảng $number theo thứ tự số thứ tự giảm dần:

<?php
$numbers = array(4, 6, 2, 22, 11);
rsort($numbers);
 
foreach( $numbers as $n) {
    echo "$n <br>";
}
?>

Kết quả:



Hàm asort() - sắp xếp các mảng liên kết theo thứ tự tăng dần, theo giá trị.

Ví dụ sau sắp xếp một mảng liên kết theo thứ tự tăng dần, theo giá trị:

<?php
$age = array("Vinh"=>"22", "Tan"=>"25", "Hoa"=>"20");
asort($age);

foreach($age as $x => $x_value) {
    echo "Key = " . $x . ", Value = " . $x_value;
    echo "<br>";
}
?>

Kết quả:

Key = Hoa, Value = 20
Key = Vinh, Value = 22
Key = Tan, Value = 25


Hàm ksort() - sắp xếp các mảng liên kết theo thứ tự tăng dần, theo khóa.

Ví dụ sau sắp xếp một mảng liên kết theo thứ tự tăng dần, theo khóa:

<?php
$age = array("Vinh"=>"22", "Tan"=>"25", "Hoa"=>"20");
ksort($age);

foreach($age as $x => $x_value) {
    echo "Key = " . $x . ", Value = " . $x_value;
    echo "<br>";
}
?>

Kết quả:

Key = Hoa, Value = 20
Key = Tan, Value = 25
Key = Vinh, Value = 22



Hàm arsort() - sắp xếp các mảng liên kết theo thứ tự giảm dần, theo giá trị.

Ví dụ sau sắp xếp một mảng liên kết theo thứ tự giảm dần, theo giá trị:

<?php
$age = array("Vinh"=>"22", "Tan"=>"25", "Hoa"=>"20");
arsort($age);

foreach($age as $x => $x_value) {
    echo "Key = " . $x . ", Value = " . $x_value;
    echo "<br>";
}
?>

Kết quả:

Key = Tan, Value = 25
Key = Vinh, Value = 22
Key = Hoa, Value = 20


Hàm krsort() - sắp xếp các mảng liên kết theo thứ tự giảm dần, theo khóa.

Ví dụ sau sắp xếp một mảng liên kết theo thứ tự giảm dần, theo khóa:

<?php
$age = array("Vinh"=>"22", "Tan"=>"25", "Hoa"=>"20");
krsort($age);

foreach($age as $x => $x_value) {
    echo "Key = " . $x . ", Value = " . $x_value;
    echo "<br>";
}
?>

Kết quả:

Key = Vinh, Value = 22
Key = Tan, Value = 25
Key = Hoa, Value = 20


Các hàm xử lý mảng trong PHP

Để tham khảo đầy đủ về các hàm xử lý mảng trong PHP, hãy truy cập full hàm xử lý mảng trong PHP.



- Trong PHP, mặc định thì các phần tử mảng sẽ được sắp xếp theo đúng thứ tự giống như lúc chúng được khai báo, tuy nhiên PHP có cung cấp sẵn một số hàm để chúng ta có thể sắp xếp lại thứ tự của các phần tử mảng.

- Dưới đây là bảng mô tả sơ qua chức năng của một số hàm thường được sử dụng trong việc sắp xếp lại thứ tự của các phần tử mảng.

HàmMô tả
sort() - Sắp xếp các phần tử mảng theo thứ tự tăng dần của giá trị (chỉ dành cho mảng được lập chỉ mục)
rsort() - Sắp xếp các phần tử mảng theo thứ tự giảm dần của giá trị (chỉ dành cho mảng được lập chỉ mục)
asort() - Sắp xếp các phần tử mảng theo thứ tự tăng dần của giá trị (chỉ dành cho mảng kết hợp)
arsort() - Sắp xếp các phần tử mảng theo thứ tự giảm dần của giá trị (chỉ dành cho mảng kết hợp)
ksort() - Sắp xếp các phần tử mảng theo thứ tự tăng dần của khóa.
krsort() - Sắp xếp các phần tử mảng theo thứ tự giảm dần của khóa.

Cách sử dụng hàm sort() trong PHP

- Chức năng của hàm sort() là dùng để sắp xếp lại các phần tử mảng theo thứ tự tăng dần của giá trị.

- Lưu ý: Hàm sort() chỉ có thể áp dụng cho “mảng được lập chỉ mục”.

<?php
	$data = array("B", "D", "C", "A");
	sort($data);
?>

- Nếu chúng ta sử dụng hàm sort() để sắp xếp lại thứ tự các phần tử mảng của một “mảng kết hợp” thì các tên khóa sẽ tự động bị thay thế thành chỉ số.

<?php
	$data=array("markup"=>"B", "style"=>"D", "script"=>"C", "server"=>"A");
	sort($data);
?>

Cách sử dụng hàm rsort() trong PHP

- Chức năng của hàm rsort() là dùng để sắp xếp lại các phần tử mảng theo thứ tự giảm dần của giá trị.

- Lưu ý: Hàm rsort() chỉ có thể áp dụng cho “mảng được lập chỉ mục”.

<?php
	$data = array("B", "D", "C", "A");
	rsort($data);
?>

Cách sử dụng hàm asort() trong PHP

- Chức năng của hàm asort() là dùng để sắp xếp lại các phần tử mảng theo thứ tự tăng dần của giá trị.

- Lưu ý: Hàm asort() chỉ có thể áp dụng cho “mảng kết hợp”.

<?php
	$data=array("markup"=>"b", "style"=>"d", "script"=>"c", "server"=>"a");
	asort($data);
?>

- Nếu ta dùng hàm asort() để sắp xếp lại thứ tự các phần tử mảng của một “mảng được lập chỉ mục” thì chỉ số của các phần tử mảng sẽ không còn được sắp xếp theo đúng thứ tự nữa.

<?php
	$data = array("b", "d", "c", "a");
	asort($data);
?>

Cách sử dụng hàm arsort() trong PHP

- Chức năng của hàm arsort() là dùng để sắp xếp lại các phần tử mảng theo thứ tự giảm dần của giá trị.

- Lưu ý: Hàm arsort() chỉ có thể áp dụng cho “mảng kết hợp”.

<?php
	$data=array("markup"=>"b", "style"=>"d", "script"=>"c", "server"=>"a");
	arsort($data);
?>

Cách sử dụng hàm ksort() trong PHP

- Chức năng của hàm ksort() là dùng để sắp xếp các phần tử mảng theo thứ tự tăng dần của khóa.

<?php
	$data = array("b"=>"Number 1", "d"=>"Number 2", "c"=>"Number 3", "a"=>"Number 4");
	ksort($data);
?>

Cách sử dụng hàm krsort() trong PHP

- Chức năng của hàm krsort() là dùng để sắp xếp các phần tử mảng theo thứ tự giảm dần của khóa.

<?php
	$data = array("b"=>"Number 1", "d"=>"Number 2", "c"=>"Number 3", "a"=>"Number 4");
	krsort($data);
?>