ฟังก์ชัน uksort

ฟังก์ชัน uksort ทำการเรียงลำดับอาร์เรย์ ตามค่าของคีย์ โดยใช้ ฟังก์ชันคอลแบ็กเพื่อกำหนดลำดับ ขององค์ประกอบในอาร์เรย์ที่เรียงลำดับแล้ว ฟังก์ชันนี้จะเปลี่ยนแปลงอาร์เรย์เดิมโดยตรง

ฟังก์ชันเปรียบเทียบจะต้องส่งคืน จำนวนเต็ม ซึ่งขึ้นอยู่กับ ผลลัพธ์ของการเปรียบเทียบ: น้อยกว่า, เท่ากับ หรือมากกว่าศูนย์

ไวยากรณ์

phpuksort(array &$array, callable $callback): bool

ตัวอย่าง

มาเรียงลำดับอาร์เรย์ จากน้อยไปหามากตามคีย์กัน:

php<?php
  $arr = [
    'b' => 1,
    'e' => 3,
    'c' => 2,
    'a' => 5,
    'd' => 4,
  ];
  
  function func($a, $b)
  {
    if ($a === $b) {
      return 0;
    } else if ($a < $b) {
      return -1;
    } else {
      return 1;
    }
  }
  
  uksort($arr, 'func');
  var_dump($arr);
?>

ผลลัพธ์การทำงานของโค้ด:

php[
  'a' => 5,
  'b' => 1,
  'c' => 2,
  'd' => 4,
  'e' => 3,
]

ดูเพิ่มเติม

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