ฟังก์ชัน uasort

ฟังก์ชัน uasort เรียงลำดับอาร์เรย์ จากน้อยไปหามากตามองค์ประกอบ โดยคง คีย์ของอาร์เรย์แบบ associative ไว้

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

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

ฟังก์ชันนี้จะแก้ไขอาร์เรย์โดยตรง

ไวยากรณ์

phpuasort(array &$array, int $flags = SORT_REGULAR): 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;
    }
  }

  uasort($arr, 'func');
  var_dump($arr);
?>

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

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

ตัวอย่าง

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

php<?php
  $arr = [
    'a' => '123',
    'b' => '1',
    'c' => '12345',
    'd' => '12',
    'e' => '1234',
  ];

  function func($a, $b)
  {
    if (strlen($a) === strlen($b)) {
      return 0;
    } else if (strlen($a) < strlen($b)) {
      return -1;
    } else {
      return 1;
    }
  }

  uasort($arr, 'func');
  var_dump($arr);
?>

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

php[
  'b' => '1',
  'd' => '12',
  'a' => '123',
  'e' => '1234',
  'c' => '12345',
]

ดูเพิ่มเติม

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