ฟังก์ชัน natsort
ฟังก์ชัน natsort จัดเรียงอาร์เรย์ในแบบที่
มนุษย์เข้าใจ
โดยที่ฟังก์ชันจะรักษาความสัมพันธ์
ระหว่างคีย์และค่าไว้
อัลกอริทึมดังกล่าวเรียกว่า natural ordering
ฟังก์ชันจะเปลี่ยนแปลงอาร์เรย์เดิม
ไวยากรณ์
natsort(array &$array, int $flags = SORT_REGULAR): bool
ตัวอย่าง
เรามาลองจัดเรียงอาร์เรย์
ด้วยฟังก์ชันปกติ sort:
<?php
$arr = [
'img12.png',
'img10.png',
'img2.png',
'img1.png',
];
sort($arr);
var_dump($arr);
?>
ผลลัพธ์จากการรันโค้ด:
[
'img1.png',
'img10.png',
'img12.png',
'img2.png',
]
ตัวอย่าง
คราวนี้ลองทำการจัดเรียงตามธรรมชาติ
ด้วยฟังก์ชัน natsort:
<?php
$arr = [
'img12.png',
'img10.png',
'img2.png',
'img1.png'
];
natsort($arr);
var_dump($arr);
?>
ผลลัพธ์จากการรันโค้ด:
[
'img1.png',
'img2.png',
'img10.png',
'img12.png',
]
ดูเพิ่มเติม
-
ฟังก์ชัน
sort,
ซึ่งจัดเรียงโดยเรียงจากน้อยไปหามากตามค่า -
ฟังก์ชัน
rsort,
ซึ่งจัดเรียงโดยเรียงจากมากไปหาน้อยตามค่า -
ฟังก์ชัน
ksort,
ซึ่งจัดเรียงโดยเรียงจากน้อยไปหามากตามคีย์ -
ฟังก์ชัน
krsort,
ซึ่งจัดเรียงโดยเรียงจากมากไปหาน้อยตามคีย์ -
ฟังก์ชัน
asort,
ซึ่งจัดเรียงโดยเรียงจากน้อยไปหามากตามค่าโดยรักษาคีย์ไว้ -
ฟังก์ชัน
arsort,
ซึ่งจัดเรียงโดยเรียงจากมากไปหาน้อยตามค่าโดยรักษาคีย์ไว้ -
ฟังก์ชัน
natcasesort,
ซึ่งจัดเรียงตามธรรมชาติโดยไม่สนใจตัวพิมพ์ใหญ่-เล็ก -
ฟังก์ชัน
usort,
ซึ่งจัดเรียงโดยใช้ callback -
ฟังก์ชัน
uksort,
ซึ่งจัดเรียงโดยใช้ callback ตามคีย์ -
ฟังก์ชัน
uasort,
ซึ่งจัดเรียงโดยใช้ callback โดยรักษาคีย์ไว้ -
ฟังก์ชัน
array_multisort,
ซึ่งจัดเรียงหลายอาร์เรย์พร้อมกัน