การใช้ฟังก์ชัน ksort() ใน PHP

Use Ksort Function Php



มีฟังก์ชันในตัวจำนวนมากใน PHP เพื่อจัดเรียงอาร์เรย์ในรูปแบบต่างๆ ฟังก์ชัน ksort() เป็นหนึ่งในนั้น ฟังก์ชันนี้ใช้เพื่อจัดเรียงอาร์เรย์ตามค่าคีย์ และส่วนใหญ่จะใช้เพื่อจัดเรียงอาร์เรย์ที่เชื่อมโยงตามลำดับจากน้อยไปมากตามคีย์ วิธีการใช้ฟังก์ชันการเรียงลำดับนี้ในอาร์เรย์ PHP ได้อธิบายไว้ในบทช่วยสอนนี้

ไวยากรณ์:
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 หลังจากอ่านบทช่วยสอนนี้