Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Hàm array_multisort() trong PHP


Hàm array_multisort() sắp xếp nhiều mảng hoặc mảng đa chiều cùng lúc. Có thể sắp xếp theo nhiều tiêu chí (nhiều mảng hoặc nhiều cột của mảng đa chiều).

Cú pháp

array_multisort(array1, sort_order, sort_type, array2, array3, ...)

Tham số

  • array1 – Mảng chính cần sắp xếp.

  • sort_order – Thứ tự sắp xếp:

    • SORT_ASC – Tăng dần (mặc định).

    • SORT_DESC – Giảm dần.

  • sort_type – Kiểu so sánh:

    • SORT_REGULAR – So sánh chuẩn (mặc định).

    • SORT_NUMERIC – So sánh số.

    • SORT_STRING – So sánh chuỗi.

    • SORT_LOCALE_STRING – So sánh chuỗi theo locale.

    • SORT_NATURAL – So sánh tự nhiên (như natsort).

    • SORT_FLAG_CASE – Kết hợp với SORT_STRING/NATURAL để không phân biệt hoa thường.

  • array2, array3, ... – Các mảng bổ sung được sắp xếp theo cùng thứ tự với array1.

Giá trị trả về

Trả về TRUE nếu thành công, FALSE nếu thất bại. Các mảng được sắp xếp trực tiếp (pass by reference).

Ví dụ 1: Sắp xếp 2 mảng song song

<?php
$a1 = array(12, 55, 3, 9, 99);
$a2 = array(44, 67, 22, 78, 46);
array_multisort($a1, $a2);
print_r($a1);
print_r($a2);
?>

Kết quả

Array ( [0] => 3 [1] => 9 [2] => 12 [3] => 55 [4] => 99 )
Array ( [0] => 22 [1] => 78 [2] => 44 [3] => 67 [4] => 46 )

Ví dụ 2: Gộp 2 mảng rồi sắp xếp tăng dần theo số

<?php
$a1 = array(12, 55, 3, 9, 99);
$a2 = array(44, 67, 22, 78, 46);
$num = array_merge($a1, $a2);
array_multisort($num, SORT_ASC, SORT_NUMERIC);
print_r($num);
?>

Kết quả

Array ( [0] => 3 [1] => 9 [2] => 12 [3] => 22 [4] => 44 [5] => 46 [6] => 55 [7] => 67 [8] => 78 [9] => 99 )