Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

ฟังก์ชัน array_multisort() ใน PHP


ฟังก์ชัน array_multisort() ใช้สำหรับจัดเรียงอาร์เรย์หลายมิติหรือหลายมิติ ส่งกลับอาร์เรย์ที่เรียงลำดับ

ไวยากรณ์

array_multisort(arr1, sort_order, sort_type, arr2, arr3, arr4...)

พารามิเตอร์

  • arr1 − อาร์เรย์ที่จะเรียงลำดับ

  • sort_order − การเรียงลำดับ ต่อไปนี้เป็นค่าที่เป็นไปได้

    • - SORT_ASC - ค่าเริ่มต้น เรียงลำดับจากน้อยไปมาก (A-Z)

    • - SORT_DESC - เรียงลำดับจากมากไปน้อย (Z-A)

  • sort_type − พฤติกรรมการเรียงลำดับ ต่อไปนี้เป็นค่าที่เป็นไปได้

    • SORT_REGULAR - ค่าเริ่มต้น เปรียบเทียบองค์ประกอบตามปกติ (มาตรฐาน ASCII)

    • SORT_NUMERIC - เปรียบเทียบองค์ประกอบเป็นค่าตัวเลข

    • SORT_STRING - เปรียบเทียบองค์ประกอบเป็นค่าสตริง

    • SORT_LOCALE_STRING - เปรียบเทียบองค์ประกอบเป็นสตริง ตามสถานที่ปัจจุบัน (สามารถเปลี่ยนได้โดยใช้ setlocale())

    • SORT_NATURAL - เปรียบเทียบองค์ประกอบเป็นสตริงโดยใช้ "การเรียงลำดับตามธรรมชาติ" เช่น natsort()

    • SORT_FLAG_CASE - สามารถรวม (ระดับบิต OR) กับ SORT_STRING หรือ SORT_NATURAL เพื่อจัดเรียงสตริงโดยไม่คำนึงถึงขนาดตัวพิมพ์

  • arr2 − อาร์เรย์อื่น ไม่บังคับ

  • arr3 − อาร์เรย์อื่น ไม่บังคับ

  • arr4 − อาร์เรย์อื่น ไม่บังคับ

คืนสินค้า

ฟังก์ชัน array_multisort() ส่งกลับอาร์เรย์ที่เรียงลำดับแล้ว

ตัวอย่าง

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

ผลลัพธ์

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

ตัวอย่าง

ให้เราดูตัวอย่างอื่นเพื่อรวมสองอาร์เรย์และเรียงลำดับจากน้อยไปหามาก

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

ผลลัพธ์

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