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); ?>
Đị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ể:
|
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ể:
|
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); ?>
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); ?>
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); ?>
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); ?>