ฟังก์ชัน 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 )