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

ตัวอย่าง

ส่งกลับแถวที่เรียงลำดับตามเลขที่เพิ่มขึ้น:

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

การทดสอบการทำงาน

คำนิยามและวิธีใช้

array_multisort() ฟังก์ชันส่งคืนตัวแปรตัวแยกเรียง คุณสามารถใส่หนึ่งหรือหลายตัวแปร ฟังก์ชันจะเรียงตัวแปรแรกเสียก่อน ตามด้วยตัวแปรอื่น ถ้ามีค่าเท่ากัน จะเรียงตัวแปรต่อไปตามลำดับ

หมายเหตุ:ชื่อกุญแจของตัวอักษรจะถูกกักตัว แต่ชื่อตัวเลขจะถูกปรับลำดับใหม่ จาก 0 และเพิ่มขึ้น 1

หมายเหตุ:คุณสามารถตั้งค่าลำดับและประเภทการจัดลำดับสำหรับแต่ละตัวแปรในแต่ละตัวแปร ถ้าไม่มีการตั้งค่า ตัวแปรในแต่ละตัวแปรจะใช้ค่าเริ่มต้น

รูปแบบ

array_multisort(array1,sorting order,sorting type,array2,array3...)
ตัวอักษร รายละเอียด
array1 จำเป็น กำหนดตัวแปร
sorting order

ทางเลือก กำหนดลำดับการจัดลำดับ ค่าที่เป็นไปได้:

  • SORT_ASC - โดยเริ่มต้น จัดลำดับตามลำดับเพิ่มขึ้น (A-Z)
  • SORT_DESC - จัดลำดับลดลง (Z-A)
sorting type

ทางเลือก กำหนดประเภทการจัดลำดับ ค่าที่เป็นไปได้:

  • SORT_REGULAR - โดยเริ่มต้น จัดลำดับรายการตามลำดับปกติ (Standard ASCII ไม่เปลี่ยนแปลงชนิด)
  • SORT_NUMERIC - จัดลำดับรายการตามตัวเลข
  • SORT_STRING - จัดลำดับรายการตามตัวอักษร
  • SORT_LOCALE_STRING - จัดลำดับรายการตามตัวอักษร ภายใต้การตั้งค่าการใช้งานภาษาปัจจุบัน (สามารถเปลี่ยนด้วย setlocale())
  • SORT_NATURAL - จัดลำดับรายการตามตัวอักษร ใช้รูปแบบเหมือน natsort()
  • SORT_FLAG_CASE - สามารถผสมกัน (ด้วยบิตหรือ OR) SORT_STRING หรือ SORT_NATURAL ในการจัดลำดับตัวอักษร โดยไม่แยกใหญ่เล็ก
array2 ทางเลือก กำหนดตัวแปร
array3 ทางเลือก กำหนดตัวแปร

ชี้แจง

ฟังก์ชัน array_multisort() ใช้จัดลำดับหลายตัวแปรหรือตัวแปรสองมิติ

ตัวแปรในตัวอักษรที่มีอยู่ในตัวแปรจะถูกจัดลำดับเหมือนเดิม และถ้าตัวแปรในตัวอักษรที่มีอยู่ในตัวอักษรเหมือนกัน จะจัดลำดับตามขนาดของตัวแปรในตัวอักษรต่อไป และอย่างนั้นตามลำดับ

ตัวอักษรแรกคือตัวแปรแบบแรงยืนยัน และแต่ละตัวอักษรต่อมาอาจเป็นตัวแปรแบบแรงยืนยัน หรือเป็นหนึ่งในสัญญาณการจัดลำดับด้านล่าง (สัญญาณการจัดลำดับใช้เพื่อเปลี่ยนลำดับการจัดลำดับเริ่มต้น) ดังนี้:

  • SORT_ASC - โดยเริ่มต้น จัดลำดับตามลำดับเพิ่มขึ้น (A-Z)
  • SORT_DESC - จัดลำดับลดลง (Z-A)

หลังจากนั้นสามารถกำหนดประเภทการจัดลำดับได้:

  • SORT_REGULAR - โดยเริ่มต้น。จัดลำดับรายการตามลำดับปกติ。
  • SORT_NUMERIC - จัดลำดับรายการตามลำดับเลขาศาสตร์。
  • SORT_STRING - จัดลำดับแต่ละรายการตามตำแหน่งอักษรในโลกภาษา

ข้อมูลเทคนิค

Value returned: หากประสบความสำเร็จ จะส่งกลับ TRUE หากประสบความผิดพลาด จะส่งกลับ FALSE
PHP Version: 4+
บันทึกการปรับปรุง:

ประเภทการเรียงลำดับ SORT_NATURAL และ SORT_FLAG_CASE ได้ถูกเพิ่มเข้ามาใน PHP 5.4

ประเภทการเรียงลำดับ SORT_LOCALE_STRING ได้ถูกเพิ่มเข้ามาใน PHP 5.3

ตัวอย่างเพิ่มเติม

ตัวอย่าง 1

ส่งกลับแถวที่เรียงลำดับตามเลขที่เพิ่มขึ้น:

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

การทดสอบการทำงาน

ตัวอย่าง 2

วิธีการเรียงลำดับเมื่อมีค่าที่เท่ากัน:

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

การทดสอบการทำงาน

ตัวอย่าง 3

การเรียงลำดับด้วยตัวเลข:

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

การทดสอบการทำงาน

ตัวอย่าง 4

เรียกมาครบรวมสองแถวของตัวเลขและเรียงลำดับลงลงหลังนี้:

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

การทดสอบการทำงาน