การเรียงลำดับอาร์เรย์ PHP เป็นการเรียงลำดับอาร์เรย์ PHP จริงๆ ในบทความนี้ เป็นการเรียงลำดับชุดผลลัพธ์จากการสืบค้นฐานข้อมูล ผลลัพธ์การสืบค้นฐานข้อมูลบางครั้งไม่สามารถนำมาใช้โดยตรงได้ เช่น ผลลัพธ์ที่ได้รับโดยใช้คำสั่ง in ใน mysql ดังนั้นจึงต้องเรียงลำดับผลลัพธ์ด้วยวิธีใดวิธีหนึ่ง ในเวลานี้ คุณจะต้องเรียงลำดับอาร์เรย์ PHP หากต้องการเรียงลำดับผลลัพธ์ของฐานข้อมูล ให้ดูตัวอย่างต่อไปนี้:
ในตัวอย่างนี้ แต่ละเซลล์ในอาร์เรย์ข้อมูลแสดงถึงแถวในตาราง นี่เป็นวิธีทั่วไปสำหรับฐานข้อมูลในการจัดเก็บข้อมูลอาร์เรย์
ข้อมูลในตัวอย่างมีดังนี้:
ปริมาณ | ฉบับ
-
67 |.2
86 |.1
85 |. 6
98 |.2
86 |. 6
67 | 7
ข้อมูลทั้งหมดจะถูกจัดเก็บไว้ในอาร์เรย์ชื่อข้อมูล โดยปกติแล้วจะเป็นผลลัพธ์ที่ได้รับจากฐานข้อมูลผ่านการวนซ้ำ เช่น mysql_fetch_assoc() (อันที่จริง คุณสามารถคิดว่าฟังก์ชันนี้เหมือนกับฟังก์ชัน mysql_fetch_assoc() ได้ สำหรับความแตกต่างเฉพาะ คุณสามารถอ่านความแตกต่างในคีย์ได้ใน คู่มือ PHP)
$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6);
$data[] = array('volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);
ในตัวอย่างนี้ ปริมาณจะถูกจัดเรียงจากมากไปน้อย และรุ่นจะถูกเรียงลำดับจากน้อยไปหามาก
ตอนนี้คุณมีอาร์เรย์ที่มีแถวแล้ว แต่ array_multisort() จำเป็นต้องมีอาร์เรย์ที่มีคอลัมน์ ดังนั้นให้ใช้โค้ดต่อไปนี้เพื่อรับคอลัมน์แล้วเรียงลำดับ
// รับรายการคอลัมน์
foreach ($ข้อมูลเป็น $key => $row) {
$volume[$key] = $row['volume'];
$edition[$key] = $row['edition'];
}
// จัดเรียงข้อมูลตามลำดับจากมากไปน้อยตามปริมาณ และเรียงลำดับจากน้อยไปมากตามรุ่น
// ใช้ $data เป็นพารามิเตอร์สุดท้าย จัดเรียงตามคีย์ทั่วไป
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
ตอนนี้การรวบรวมข้อมูลถูกจัดเรียงแล้ว และผลลัพธ์จะเป็นดังนี้:
ปริมาณ | ฉบับ
-
98 |.2
86 |.1
86 |. 6
85 |. 6
67 |.2
67 |. 7
จริงๆ แล้วมีหลายวิธีที่สามารถนำมาใช้ในการเรียงลำดับได้ เช่น arsort(), asort(), ksort(), krsort(), natsort(), natcasesort(), rsort ที่มาพร้อมกับ array array ของ PHP . (), usort(), array_multisort() และ uksort()