PHP – Sorting Arrays

Các phần tử trong mảng có thể được sắp xếp theo alphabe hay number. Tăng hoặc giảm dần.

Trong bài này chúng ta sẽ tìm hiểu các hàm sắp xếp 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 associative (mảng kết hợp) theo thứ tự tăng dần, sắp xếp theo value
  • ksort() – sắp xếp các mảng associative theo thứ tự tăng dần, sắp xếp theo key
  • arsort() – sắp xếp các mảng associative theo thứ tự giảm dần, sắp xếp theo value
  • krsort() – sắp xếp các mảng associative theo thứ tự giảm dần, sắp xếp theo key

Hàm sort

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);
?>

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

<?php
$numbers = array(4, 6, 2, 22, 11);
sort($numbers);
?>

Hàm rsort

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);
?>

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

<?php
$numbers = array(4, 6, 2, 22, 11);
rsort($numbers);
?>

Sắp xếp mảng (thứ tự tăng dần), theo value – asort ()

Ví dụ sau sắp xếp một mảng associative (mảng kết hợp) theo thứ tự tăng dần theo value:

<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
asort($age);
?>

Sắp xếp mảng (thứ tự tăng dần), Theo key – ksort ()

Ví dụ sau sắp xếp một mảng associative (mảng kết hợp) theo thứ tự tăng dần theo key:

<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
ksort($age);
?>

Sắp xếp mảng (thứ tự giảm dần), theo value – arsort ()

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

<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
arsort($age);
?>

Sắp xếp mảng (thứ tự giảm dần), theo key – krsort ()

Ví dụ sau sắp xếp một mảng associative (mảng kết hợp) theo thứ tự giảm dần, theo key:

<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
krsort($age);
?>