ไวยากรณ์:
bool ksort (array &$array [, int $sort_flags = SORT_REGULAR ])
ฟังก์ชันนี้สามารถรับอาร์กิวเมนต์ได้สองอาร์กิวเมนต์ อาร์กิวเมนต์แรกเป็นข้อบังคับ ซึ่งใช้อาร์เรย์ที่จะจัดเรียงตามคีย์ อาร์กิวเมนต์ที่สองเป็นทางเลือก ซึ่งสามารถใช้เพื่อปรับเปลี่ยนลักษณะการทำงานของการเรียงลำดับ ค่าใดๆ ต่อไปนี้สามารถใช้สำหรับอาร์กิวเมนต์ที่เป็นทางเลือก
SORT_REGULAR หรือ 0 : เป็นค่าเริ่มต้นและจัดเรียงองค์ประกอบตามปกติ
SORT_NUMERIC หรือ 1 : ใช้เพื่อจัดเรียงอาร์เรย์ตามคีย์ตัวเลข
SORT_STRING หรือ 2 : ใช้เพื่อจัดเรียงอาร์เรย์ตามคีย์สตริง
SORT_LOCALE_STRING หรือ 3 : ใช้เพื่อจัดเรียงอาร์เรย์ตามคีย์สตริงบนโลแคลปัจจุบัน
SORT_NATURAL หรือ 4 : ใช้เพื่อจัดเรียงอาร์เรย์ตามคีย์สตริงในลำดับที่เป็นธรรมชาติ
SORT_FLAG_CASE หรือ 5 : ใช้เพื่อจัดเรียงอาร์เรย์ตามคีย์สตริงในลักษณะที่คำนึงถึงขนาดตัวพิมพ์
ตัวอย่างที่ 1: จัดเรียงอาร์เรย์ตามคีย์สตริง (ค่าเริ่มต้น)
ตัวอย่างต่อไปนี้แสดงการใช้ ksort() โดยไม่มีอาร์กิวเมนต์ที่เป็นทางเลือก
ขั้นแรก สร้างไฟล์ PHP ด้วยสคริปต์ต่อไปนี้ อาร์เรย์ที่เชื่อมโยงหนึ่งมิติขององค์ประกอบสี่องค์ประกอบถูกประกาศไว้ในสคริปต์ ในที่นี้ ฟังก์ชัน ksort() ใช้เพื่อจัดเรียงอาร์เรย์ตามค่าคีย์ในลำดับจากน้อยไปมาก หากไม่มีการใช้อาร์กิวเมนต์ที่เป็นตัวเลือกในฟังก์ชัน ksort() ฟังก์ชันจะจัดเรียงอาร์เรย์ตามปกติ ต่อไป แต่ละ วงใช้เพื่อพิมพ์อาร์เรย์ที่เรียงลำดับด้วยคีย์และค่า
//ประกาศ associative array
$ลูกค้า = อาร์เรย์ ('c4089'=>'เมห์รับ ฮูเซน', 'c1289'=>'มูนีร์ เชาว์ดูรี', 'c2390'=>'มีนา ราห์มาน', 'c1906'=>'รักษณา กมล');
// ใช้ค่าเริ่มต้น ksort()
ksort ($ลูกค้า);
โยนออก '
ค่าอาร์เรย์ที่เรียงลำดับคือ:
';//พิมพ์ค่าอาร์เรย์หลัง sort
แต่ละ ($ลูกค้า เช่น $key => $value) {
โยนออก '$key=$value
';
}
?>
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากเรียกใช้สคริปต์จากเซิร์ฟเวอร์ ผลลัพธ์แสดงว่าค่าคีย์ของอาร์เรย์ถูกจัดเรียง
ตัวอย่างที่ 2: จัดเรียงอาร์เรย์ตามคีย์ตัวเลข
ตัวอย่างต่อไปนี้แสดงวิธีการจัดเรียงอาร์เรย์ตัวเลขแบบหนึ่งมิติโดยใช้ฟังก์ชัน ksort()
ขั้นแรก สร้างไฟล์ PHP ด้วยสคริปต์ต่อไปนี้ ในที่นี้ อาร์เรย์ที่เชื่อมโยงขององค์ประกอบสี่ตัวถูกประกาศ โดยที่ค่าคีย์ของอาร์เรย์เป็นตัวเลข 1 ถูกใช้เป็นค่าอาร์กิวเมนต์ทางเลือกของ ksort() ในสคริปต์ที่ใช้ในการเรียงลำดับอาร์เรย์ตามค่าคีย์ตัวเลข ต่อไป a แต่ละ วงใช้เพื่อพิมพ์อาร์เรย์ที่เรียงลำดับ
//ประกาศ associative array
$items = อาร์เรย์ (89564=>'เฝ้าสังเกต', 98765=>'หนู', 34234=>'เครื่องพิมพ์', 18979=>'สแกนเนอร์');
//ใช้ ksort() โดยมีค่าอาร์กิวเมนต์ที่เป็นตัวเลือก 1
ksort ($items, 1);
โยนออก '
ค่าอาร์เรย์ที่เรียงลำดับคือ:
';//พิมพ์ค่าอาร์เรย์หลัง sort
แต่ละ ($items เช่น $key => $value) {
โยนออก '$key=$value
';
}
?>
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากเรียกใช้สคริปต์จากเซิร์ฟเวอร์ ผลลัพธ์จะแสดงคีย์อาร์เรย์และค่าต่างๆ หลังจากจัดเรียงอาร์เรย์ตามค่าคีย์ตัวเลข
ตัวอย่างที่ 3: Sort associative array ในการจัดลำดับตามธรรมชาติ
ตัวอย่างต่อไปนี้แสดงวิธีการจัดเรียงอาร์เรย์ตามคีย์ที่คีย์จะเรียงลำดับตามการเรียงลำดับตามธรรมชาติ ซึ่งหมายความว่าหากคีย์ของอาร์เรย์เริ่มต้นด้วยอักขระและลงท้ายด้วยตัวเลข การเรียงลำดับก็จะเป็นไปตามธรรมชาติ
ขั้นแรก สร้างไฟล์ PHP ด้วยสคริปต์ต่อไปนี้ ในที่นี้ อาร์เรย์ที่เชื่อมโยงขององค์ประกอบสี่ตัวถูกกำหนด และคีย์-ค่าประกอบด้วยทั้งอักขระและตัวเลข 4 ใช้ในอาร์กิวเมนต์ที่สองของ ksort() สำหรับการเรียงลำดับตามธรรมชาติ ต่อไป a แต่ละ วงใช้เพื่อพิมพ์อาร์เรย์ที่เรียงลำดับ
//ประกาศ associative array
$คอร์ส = อาร์เรย์ ('CSE408'=>'มัลติมีเดีย', 'MAT201'=>'คณิตศาสตร์ฉัน', 'ซีเอสอี204'=>'อัลกอริทึม', 'PHY101'=>'ฟิสิกส์ฉัน');
//ใช้ ksort() โดยมีค่าอาร์กิวเมนต์ที่เป็นตัวเลือก 4
ksort ($คอร์ส, 4);
โยนออก '
ค่าอาร์เรย์ที่เรียงลำดับคือ:
';//พิมพ์ค่าอาร์เรย์หลัง sort
แต่ละ ($คอร์ส เช่น $key => $value) {
โยนออก '$key=$value
';
}
?>
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากเรียกใช้สคริปต์จากเซิร์ฟเวอร์ ผลลัพธ์จะแสดงคีย์อาร์เรย์และค่าต่างๆ หลังจากการจัดเรียงคีย์อาร์เรย์อย่างเป็นธรรมชาติ
ตัวอย่างที่ 4: จัดเรียง associative array ในลักษณะที่คำนึงถึงขนาดตัวพิมพ์
ตัวอย่างต่อไปนี้แสดงวิธีการจัดเรียงอาร์เรย์ที่เชื่อมโยงตามคีย์ซึ่งค่าคีย์จะถูกจัดเรียงในลักษณะที่คำนึงถึงขนาดตัวพิมพ์
ขั้นแรก สร้างไฟล์ PHP ด้วยสคริปต์ต่อไปนี้ อาร์เรย์ที่เชื่อมโยงขององค์ประกอบทั้งห้าถูกประกาศไว้ในสคริปต์ ค่าคีย์ของอาร์เรย์มีทั้งตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ในที่นี้ 5 ถูกใช้เป็นค่าของค่าอาร์กิวเมนต์ที่สองของ ksort() สำหรับการจัดเรียงแบบตรงตามตัวพิมพ์เล็กและใหญ่ ต่อไป, foreach วงใช้เพื่อพิมพ์อาร์เรย์ที่เรียงลำดับ
//ประกาศ associative array
$foods = อาร์เรย์ ('เค้ก'=>'$ 20', 'โคก'=>'$ 2', 'เบอร์เกอร์'=>'$ 5', 'พิซซ่า'=>'$ 10', 'โดนัท'=>'$ 2');
//ใช้ ksort() โดยมีค่าอาร์กิวเมนต์ที่เป็นตัวเลือก 5
ksort ($foods, 5);
โยนออก '
ค่าอาร์เรย์ที่เรียงลำดับคือ:
';//พิมพ์ค่าอาร์เรย์หลัง sort
แต่ละ ($foods เช่น $key => $value) {
โยนออก '$key=$value
';
}
?>
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากเรียกใช้สคริปต์จากเซิร์ฟเวอร์ ผลลัพธ์จะแสดงคีย์อาร์เรย์และค่าต่างๆ หลังจากการจัดเรียงคีย์อาร์เรย์ในลักษณะที่คำนึงถึงขนาดตัวพิมพ์ ค่าคีย์ของอาร์เรย์คือ เค้ก , โคก , เบอร์เกอร์ , พิซซ่า , และ โดนัท . ตัวพิมพ์ใหญ่มีขนาดเล็กกว่าตัวพิมพ์เล็กตามรหัส ASCII หลังจากการจัดเรียงแบบคำนึงถึงขนาดตัวพิมพ์ ค่าคีย์จะเป็น โคก , พิซซ่า , เบอร์เกอร์ , เค้ก , และ โดนัท .
บทสรุป
วิธีต่างๆ ในการจัดเรียงอาร์เรย์ตามคีย์โดยใช้ฟังก์ชัน ksort() ได้อธิบายไว้ในบทช่วยสอนนี้ด้วยการใช้ตัวอย่างหลายตัวอย่าง ค่าคีย์จะถูกจัดเรียงตามค่าอาร์กิวเมนต์ที่สองของฟังก์ชันนี้ หวังว่าผู้อ่านจะสามารถจัดเรียงอาร์เรย์ตามคีย์โดยใช้ PHP หลังจากอ่านบทช่วยสอนนี้