ဖန်​ရှင် usort

ဖန်ရှင် usort သည် array တစ်ခုကို element ၏တန်ဖိုးအလိုက် စီစဉ်ပေးပြီး၊ စီစဉ်ပြီး array အတွင်း element အစီအစဥ်ကို သတ်မှတ်ရန် အတွက် callback ကိုအသုံးပြုသည်။ ဤဖန်ရှင်သည် array ကိုယ်တိုင်ကို ပြောင်းလဲပေးသည်။

နှိုင်းယှဥ်သည့် ဖန်ရှင်သည် အပြည့်ကိန်း (integer) တစ်ခုကို ပြန်ပေးရမည်၊ ထိုကိန်းသည် နှိုင်းယှဥ်မှု ရလဒ်ပေါ်မူတည်၍ အောက်ပါအတိုင်းဖြစ်သည်: သုညထက် နည်းခြင်း၊ ညီမျှခြင်း (သို့) သုညထက် ကြီးခြင်း။

ဖန်ရှင် ဖွဲ့စည်းပုံ

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

နမူနာ

Array တစ်ခုကို element များ တိုးလာသည့်အလိုက် စီစဉ်ကြည့်ရအောင်:

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

ကုဒ် ရလဒ်:

php[1, 2, 3, 4, 5]

နမူနာ

ယခု Array တစ်ခုကို element များ လျော့သွားသည့်အလိုက် စီစဉ်ကြည့်ရအောင်:

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

ကုဒ် ရလဒ်:

php[5, 4, 3, 2, 1]

နမူနာ

ယခု Array တစ်ခုကို element များအတွင်းရှိ အက္ခရာရေအတွက်တိုးလာသည့်အလိုက် စီစဉ်ကြည့်ရအောင်:

php<?php
  $arr = [
    '123',
    '1',
    '12345',
    '12',
    '1234',
  ];
  
  function func($a, $b)
  {
    if (strlen($a) === strlen($b)) {
      return 0;
    } else if (strlen($a) < strlen($b)) {
      return -1;
    } else {
      return 1;
    }
  }
  
  usort($arr, 'func');
  var_dump($arr);
?>

ကုဒ် ရလဒ်:

php[
  '1',
  '12',
  '123',
  '1234',
  '12345',
]

ဆက်လက် ဖတ်ရှုရန်

  • ဖန်ရှင် sort,
    element များတိုးလာသည့်အလိုက် စီစဉ်ပေးသည်
  • ဖန်ရှင် rsort,
    element များလျော့သွားသည့်အလိုက် စီစဉ်ပေးသည်
  • ဖန်ရှင် ksort,
    key များတိုးလာသည့်အလိုက် စီစဉ်ပေးသည်
  • ဖန်ရှင် krsort,
    key များလျော့သွားသည့်အလိုက် စီစဉ်ပေးသည်
  • ဖန်ရှင် asort,
    element များတိုးလာသည့်အလိုက် key များကို မပျက်စီးစေဘဲ စီစဉ်ပေးသည်
  • ဖန်ရှင် arsort,
    element များလျော့သွားသည့်အလိုက် key များကို မပျက်စီးစေဘဲ စီစဉ်ပေးသည်
  • ဖန်ရှင် natsort,
    �ဘာဝအတိုင်း စီစဉ်ပေးသည်
  • ဖန်ရှင် natcasesort,
    အကြီးအသေး ခွဲခြားခြင်းမရှိဘဲ သဘာဝအတိုင်း စီစဉ်ပေးသည်
  • ဖန်ရှင် usort,
    callback အသုံးပြု၍ စီစဉ်ပေးသည်
  • ဖန်ရှင် uksort,
    callback အသုံးပြု၍ key များအလိုက် စီစဉ်ပေးသည်
  • ဖန်ရှင် uasort,
    callback အသုံးပြု၍ key များကို မပျက်စီးစေဘဲ စီစဉ်ပေးသည်
  • ဖန်ရှင် array_multisort,
    array များစွာကို စီစဉ်ပေးသည်