PHP hàm array_multisort()

Mô hình

Trả về một mảng được sắp xếp theo thứ tự tăng dần:

<?php
$a=array("Dog","Cat","Horse","Bear","Zebra");
array_multisort($a);;
print_r($a);
?>

Chạy ví dụ

Định nghĩa và cách sử dụng

Chức năng array_multisort() trả về mảng đã được sắp xếp. Bạn có thể nhập vào một hoặc nhiều mảng. Hàm này sẽ sắp xếp trước tiên mảng đầu tiên, sau đó là các mảng khác, nếu hai hoặc nhiều giá trị tương tự, nó sẽ sắp xếp theo mảng tiếp theo.

Chú thích:Tên khóa chuỗi sẽ được giữ lại, nhưng tên khóa số sẽ được重新索引 từ 0 và tăng lên 1.

Chú thích:Bạn có thể thiết lập tham số thứ tự và loại sắp xếp sau mỗi mảng. Nếu không thiết lập, mỗi tham số mảng sẽ sử dụng giá trị mặc định.

Cú pháp

array_multisort(array1,Thứ tự sắp xếp,Loại sắp xếp,array2,array3...)
Tham số Mô tả
array1 Bắt buộc. Định nghĩa mảng.
Thứ tự sắp xếp

Tùy chọn. Định nghĩa thứ tự sắp xếp. Các giá trị có thể:

  • SORT_ASC - Mặc định. Sắp xếp theo thứ tự tăng dần (A-Z).
  • SORT_DESC - Sắp xếp theo thứ tự giảm dần (Z-A).
Loại sắp xếp

Tùy chọn. Định nghĩa loại sắp xếp. Các giá trị có thể:

  • SORT_REGULAR - Mặc định. Sắp xếp từng phần tử theo thứ tự thông thường (Standard ASCII, không thay đổi loại).
  • SORT_NUMERIC - Xử lý từng phần tử như một số.
  • SORT_STRING - Xử lý từng phần tử như một chuỗi.
  • SORT_LOCALE_STRING - Xử lý từng phần tử như một chuỗi, dựa trên thiết lập vùng (có thể thay đổi bằng hàm setlocale()).
  • SORT_NATURAL - Xử lý từng phần tử như một chuỗi, sử dụng thứ tự tự nhiên tương tự như hàm natsort().
  • SORT_FLAG_CASE - Có thể kết hợp (hoặc bằng bit) SORT_STRING hoặc SORT_NATURAL để sắp xếp chuỗi, không phân biệt chữ hoa và chữ thường.
array2 Tùy chọn. Định nghĩa mảng.
array3 Tùy chọn. Định nghĩa mảng.

Giải thích

Hàm array_multisort() được sử dụng để sắp xếp nhiều mảng hoặc mảng đa chiều.

Mảng trong tham số được coi là cột của một bảng và được sắp xếp theo hàng - điều này tương tự như chức năng của câu lệnh ORDER BY trong SQL. Mảng đầu tiên là mảng cần sắp xếp chính. Nếu các hàng (giá trị) trong mảng so sánh bằng nhau, sẽ sắp xếp theo kích thước của giá trị tương ứng trong mảng đầu vào tiếp theo, và thế là.

Tham số đầu tiên là một mảng, mỗi tham số tiếp theo có thể là một mảng hoặc một trong các dấu hiệu sắp xếp sau (dấu hiệu sắp xếp được sử dụng để thay đổi thứ tự sắp xếp mặc định):

  • SORT_ASC - Mặc định, sắp xếp theo thứ tự tăng dần. (A-Z)
  • SORT_DESC - Sắp xếp theo thứ tự giảm dần. (Z-A)

Sau đó có thể chỉ định loại sắp xếp:

  • SORT_REGULAR - Mặc định. Sắp xếp từng phần tử theo thứ tự thông thường.
  • SORT_NUMERIC - Sắp xếp từng phần tử theo thứ tự số học.
  • SORT_STRING - Sắp xếp từng phần theo thứ tự字母.

Chi tiết kỹ thuật

Giá trị trả về: Nếu thành công thì trả về TRUE, nếu thất bại thì trả về FALSE.
Phiên bản PHP: 4+
Nhật ký cập nhật:

Loại sắp xếp SORT_NATURAL và SORT_FLAG_CASE được thêm vào PHP 5.4.

Loại sắp xếp SORT_LOCALE_STRING được thêm vào PHP 5.3.

Các ví dụ khác

Ví dụ 1

Trả về một mảng được sắp xếp theo thứ tự tăng dần:

<?php
$a1=array("Dog","Cat");
$a2=array("Fido","Missy");
array_multisort($a1,$a2);;
print_r($a1);
print_r($a2);
?>

Chạy ví dụ

Ví dụ 2

Cách sắp xếp khi hai giá trị bằng nhau:

<?php
$a1=array("Dog","Dog","Cat");
$a2=array("Pluto","Fido","Missy");
array_multisort($a1,$a2);;
print_r($a1);
print_r($a2);
?>

Chạy ví dụ

Ví dụ 3

Sử dụng tham số sắp xếp:

<?php
$a1=array("Dog","Dog","Cat");
$a2=array("Pluto","Fido","Missy");
array_multisort($a1,SORT_ASC,$a2,SORT_DESC);;
print_r($a1);
print_r($a2);
?>

Chạy ví dụ

Ví dụ 4

Kết hợp hai mảng và sắp xếp theo thứ tự số theo thứ tự giảm dần:

<?php
$a1=array(1,30,15,7,25);
$a2=array(4,30,20,41,66);
$num=array_merge($a1,$a2);
array_multisort($num,SORT_DESC,SORT_NUMERIC);;
print_r($num);
?>

Chạy ví dụ