ฟังก์ชัน natsort

ฟังก์ชัน natsort จัดเรียงอาร์เรย์ในแบบที่ มนุษย์เข้าใจ โดยที่ฟังก์ชันจะรักษาความสัมพันธ์ ระหว่างคีย์และค่าไว้ อัลกอริทึมดังกล่าวเรียกว่า natural ordering

ฟังก์ชันจะเปลี่ยนแปลงอาร์เรย์เดิม

ไวยากรณ์

phpnatsort(array &$array, int $flags = SORT_REGULAR): bool

ตัวอย่าง

เรามาลองจัดเรียงอาร์เรย์ ด้วยฟังก์ชันปกติ sort:

php<?php
  $arr = [
    'img12.png',
    'img10.png',
    'img2.png',
    'img1.png',
  ];
  
  sort($arr);
  var_dump($arr);
?>

ผลลัพธ์จากการรันโค้ด:

php[
  'img1.png',
  'img10.png',
  'img12.png',
  'img2.png',
]

ตัวอย่าง

คราวนี้ลองทำการจัดเรียงตามธรรมชาติ ด้วยฟังก์ชัน natsort:

php<?php
  $arr = [
    'img12.png',
    'img10.png',
    'img2.png',
    'img1.png'
  ];
  
  natsort($arr);
  var_dump($arr);
?>

ผลลัพธ์จากการรันโค้ด:

php[
  'img1.png',
  'img2.png',
  'img10.png',
  'img12.png',
]

ดูเพิ่มเติม

  • ฟังก์ชัน sort,
    ซึ่งจัดเรียงโดยเรียงจากน้อยไปหามากตามค่า
  • ฟังก์ชัน rsort,
    ซึ่งจัดเรียงโดยเรียงจากมากไปหาน้อยตามค่า
  • ฟังก์ชัน ksort,
    ซึ่งจัดเรียงโดยเรียงจากน้อยไปหามากตามคีย์
  • ฟังก์ชัน krsort,
    ซึ่งจัดเรียงโดยเรียงจากมากไปหาน้อยตามคีย์
  • ฟังก์ชัน asort,
    ซึ่งจัดเรียงโดยเรียงจากน้อยไปหามากตามค่าโดยรักษาคีย์ไว้
  • ฟังก์ชัน arsort,
    ซึ่งจัดเรียงโดยเรียงจากมากไปหาน้อยตามค่าโดยรักษาคีย์ไว้
  • ฟังก์ชัน natcasesort,
    ซึ่งจัดเรียงตามธรรมชาติโดยไม่สนใจตัวพิมพ์ใหญ่-เล็ก
  • ฟังก์ชัน usort,
    ซึ่งจัดเรียงโดยใช้ callback
  • ฟังก์ชัน uksort,
    ซึ่งจัดเรียงโดยใช้ callback ตามคีย์
  • ฟังก์ชัน uasort,
    ซึ่งจัดเรียงโดยใช้ callback โดยรักษาคีย์ไว้
  • ฟังก์ชัน array_multisort,
    ซึ่งจัดเรียงหลายอาร์เรย์พร้อมกัน