Hướng dẫn dùng sorted 3 trong PHP

Hàm sort() sẽ sắp xếp các phần tử của một mảng theo thứ tự từ thấp đến cao.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Cú Pháp

Cú Phápsort($array, $sort_flag);

Trong đó:

  • $array là mảng cần sắp xếp.
  • $sort_flag là tham số không bắt buộc, quy định kiểu sắp xếp.

Vậy có các kiểu sắp xếp nào?

Bài viết này được đăng tại [free tuts .net]

  • SORT_REGULAR :  kiểu mặc định, so sánh bình thường.
  • SORT_NUMERIC : so sánh dựa vào số.
  • SORT_STRING :  so sánh dựa vào  chuỗi.
  • SORT_NATURAL: so sanh theo thứ tự alphabet.
  • SORT_FLAG_CASE : sử dụng kết hợp với SORT_STRING hoặc SORT_NATURAL để sắp xếp chuỗi mà không phân biệt chữ hoa chư thường.

Hàm sẽ trả về TRUE nếu sắp xếp thành công và FALSE nếu thất bại.

Ví dụ

Code

$subject = array(
	"php",
	 "java",
	  "js", 
	  "html"
);
sort($subject);
foreach ($subject as $key => $val) {
    echo "subject[" . $key . "] = " . $val . "
"; }

Kết quả

subject[0] = html
subject[1] = java
subject[2] = js
subject[3] = php

Code

$subject = array(
	1,
	43,
	55,
	24
);
sort($subject, SORT_NUMERIC);
foreach ($subject as $key => $val) {
    echo "subject[" . $key . "] = " . $val . "
"; }

Kết quả

subject[0] = 1
subject[1] = 24
subject[2] = 43
subject[3] = 55

Code

$subject = array(
	'laravel', 
	'Zend', 
	'cI'
);
sort($subject, SORT_NATURAL);
foreach ($subject as $key => $val) {
    echo "subject[" . $key . "] = " . $val . "
"; }

Kết quả

subject[0] = Zend
subject[1] = cI
subject[2] = laravel

Ta có thể thấy tuy rằng z đúng sau c nhưng Zend vẫn được xếp trên cI do Z được viết hoa.Để sắp xếp không phân biệt chữ hoa chữ thường ta nên dùng kết hợp với SORT_FLAG_CASE.

Code

$subject = array(
	'laravel', 
	'Zend', 
	'cI'
);
sort($subject, SORT_NATURAL | SORT_FLAG_CASE);
foreach ($subject as $key => $val) {
    echo "subject[" . $key . "] = " . $val . "
"; }

Kết quả

subject[0] = cI
subject[1] = laravel
subject[2] = Zend

chữ Zend đã về đúng vị trí của nó :D  

Tham khảo : php.net

Hàm sort() sẽ sắp xếp các phần tử của một mảng theo thứ tự từ thấp đến cao.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Cú Pháp

Cú Phápsort($array, $sort_flag);

Trong đó:

  • $array là mảng cần sắp xếp.
  • $sort_flag là tham số không bắt buộc, quy định kiểu sắp xếp.

Vậy có các kiểu sắp xếp nào?

Bài viết này được đăng tại [free tuts .net]

  • SORT_REGULAR :  kiểu mặc định, so sánh bình thường.
  • SORT_NUMERIC : so sánh dựa vào số.
  • SORT_STRING :  so sánh dựa vào  chuỗi.
  • SORT_NATURAL: so sanh theo thứ tự alphabet.
  • SORT_FLAG_CASE : sử dụng kết hợp với SORT_STRING hoặc SORT_NATURAL để sắp xếp chuỗi mà không phân biệt chữ hoa chư thường.

Hàm sẽ trả về TRUE nếu sắp xếp thành công và FALSE nếu thất bại.

Ví dụ

Code

$subject = array(
	"php",
	 "java",
	  "js", 
	  "html"
);
sort($subject);
foreach ($subject as $key => $val) {
    echo "subject[" . $key . "] = " . $val . "
"; }

Kết quả

subject[0] = html
subject[1] = java
subject[2] = js
subject[3] = php

Code

$subject = array(
	1,
	43,
	55,
	24
);
sort($subject, SORT_NUMERIC);
foreach ($subject as $key => $val) {
    echo "subject[" . $key . "] = " . $val . "
"; }

Kết quả

subject[0] = 1
subject[1] = 24
subject[2] = 43
subject[3] = 55

Code

$subject = array(
	'laravel', 
	'Zend', 
	'cI'
);
sort($subject, SORT_NATURAL);
foreach ($subject as $key => $val) {
    echo "subject[" . $key . "] = " . $val . "
"; }

Kết quả

subject[0] = Zend
subject[1] = cI
subject[2] = laravel

Ta có thể thấy tuy rằng z đúng sau c nhưng Zend vẫn được xếp trên cI do Z được viết hoa.Để sắp xếp không phân biệt chữ hoa chữ thường ta nên dùng kết hợp với SORT_FLAG_CASE.

Code

$subject = array(
	'laravel', 
	'Zend', 
	'cI'
);
sort($subject, SORT_NATURAL | SORT_FLAG_CASE);
foreach ($subject as $key => $val) {
    echo "subject[" . $key . "] = " . $val . "
"; }

Kết quả

subject[0] = cI
subject[1] = laravel
subject[2] = Zend

chữ Zend đã về đúng vị trí của nó :D  

Tham khảo : php.net

Trong bài này, chúng ta sẽ tìm hiểu cách sử dụng các hàm sắp xếp (sort) mảng trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP.

Các phần tử trong mảng có thể được sắp xếp theo thứ tự bảng chữ cái. Hoặc sắp xếp theo thứ tự số tăng dần/giảm dần. PHP hỗ trợ một số hàm sắp xếp (sort) mảng như:

Hàm sort() có chức năng sắp xếp các phần tử trong mảng theo thứ tự tăng dần theo bảng chữ cái hoặc chữ số.

 John [1] => Kane [2] => Mary [3] => Son [4] => Terry ) 
print_r($names);
$nums = array(8, 2, 9, 4, 1);
sort($nums);
//Array ( [0] => 1 [1] => 2 [2] => 4 [3] => 8 [4] => 9 )
print_r($nums);
?>

2. Hàm rsort() trong PHP

Hàm rsort() có chức năng sắp xếp các phần tử trong mảng theo thứ tự giảm dần theo bảng chữ cái hoặc chữ số.

 Terry [1] => Son [2] => Mary [3] => Kane [4] => John )
print_r($names);
$nums = array(8, 2, 9, 4, 1);
rsort($nums);
//Array ( [0] => 9 [1] => 8 [2] => 4 [3] => 2 [4] => 1 )
print_r($nums);
?>

3. Hàm asort() trong PHP

Hàm asort() có chức năng sắp xếp các phần tử trong mảng kết hợp (associative array) theo thứ tự tăng dần của các value.

30, "John"=>21, "Kane"=>29, "Mary"=>41, "Terry"=>19);
asort($ages);
print "
";
print_r($ages);
print "
"; $capitals = array("VietNam"=>"Hanoi", "Japan"=>"Tokyo", "Canada"=>"Ottawa", "Qatar"=>"Doha", "England"=>"London"); asort($capitals); print "
";
print_r($capitals);
print "
"; ?>
Kết quả
Array
(
    [Terry] => 19
    [John] => 21
    [Kane] => 29
    [Son] => 30
    [Mary] => 41
)
Array
(
    [Qatar] => Doha
    [VietNam] => Hanoi
    [England] => London
    [Canada] => Ottawa
    [Japan] => Tokyo
)

4. Hàm ksort() trong PHP

Hàm ksort() có chức năng sắp xếp các phần tử trong mảng kết hợp (associative array) theo thứ tự tăng dần của các key.

30, "John"=>21, "Kane"=>29, "Mary"=>41, "Terry"=>19);
ksort($ages);
print "
";
print_r($ages);
print "
"; $capitals = array("VietNam"=>"Hanoi", "Japan"=>"Tokyo", "Canada"=>"Ottawa", "Qatar"=>"Doha", "England"=>"London"); ksort($capitals); print "
";
print_r($capitals);
print "
"; ?>
Kết quả
Array
(
    [John] => 21
    [Kane] => 29
    [Mary] => 41
    [Son] => 30
    [Terry] => 19
)
Array
(
    [Canada] => Ottawa
    [England] => London
    [Japan] => Tokyo
    [Qatar] => Doha
    [VietNam] => Hanoi
)

5. Hàm arsort() trong PHP

Hàm arsort() có chức năng sắp xếp các phần tử trong mảng kết hợp (associative array) theo thứ tự giảm dần của các value.

30, "John"=>21, "Kane"=>29, "Mary"=>41, "Terry"=>19);
arsort($ages);
print "
";
print_r($ages);
print "
"; $capitals = array("VietNam"=>"Hanoi", "Japan"=>"Tokyo", "Canada"=>"Ottawa", "Qatar"=>"Doha", "England"=>"London"); arsort($capitals); print "
";
print_r($capitals);
print "
"; ?>
Kết quả
Array
(
    [Mary] => 41
    [Son] => 30
    [Kane] => 29
    [John] => 21
    [Terry] => 19
)
Array
(
    [Japan] => Tokyo
    [Canada] => Ottawa
    [England] => London
    [VietNam] => Hanoi
    [Qatar] => Doha
)

6. Hàm krsort() trong PHP

Hàm krsort() có chức năng sắp xếp các phần tử trong mảng kết hợp (associative array) theo thứ tự giảm dần của các key.

  • Khai báo và khởi tạo mảng 2 chiều (two dimensional array) trong Java
  • Sự tương quan giữa con trỏ và mảng trong C++
  • Phân biệt rõ Java Development Kit (JDK), JRE, JVM trong Java
  • Quản lý bộ nhớ trong Java: bộ nhớ stack và bộ nhớ heap
  • Các thành phần cơ bản trong một chương trình Java
30, "John"=>21, "Kane"=>29, "Mary"=>41, "Terry"=>19);
krsort($ages);
print "
";
print_r($ages);
print "
"; $capitals = array("VietNam"=>"Hanoi", "Japan"=>"Tokyo", "Canada"=>"Ottawa", "Qatar"=>"Doha", "England"=>"London"); krsort($capitals); print "
";
print_r($capitals);
print "
"; ?>
Kết quả
Array
(
    [Terry] => 19
    [Son] => 30
    [Mary] => 41
    [Kane] => 29
    [John] => 21
)
Array
(
    [VietNam] => Hanoi
    [Qatar] => Doha
    [Japan] => Tokyo
    [England] => London
    [Canada] => Ottawa
)