လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> strnatcasecmp ကိုသုံးပြီး parameters တွေကိုမျိုးစုံဘယ်လိုခွဲခြားရမလဲ။

strnatcasecmp ကိုသုံးပြီး parameters တွေကိုမျိုးစုံဘယ်လိုခွဲခြားရမလဲ။

gitbox 2025-05-19

strnatcasecmp သည် PHP တွင်အလွန်လက်တွေ့ကျသော string နှိုင်းယှဉ်မှု function ဖြစ်သည်။ ၎င်းသည်သဘာဝမှာယူမှု algorithm ကိုအသုံးပြုသည်။ သဘာဝ sorting သည်အမိန့်အတွက်ကြိုးများကို sorting ရုံမျှသာမဟုတ်ပါ။ ၎င်းသည်နံပါတ်များ၏အရွယ်အစားကိုထည့်သွင်းစဉ်းစားပြီးလူ့အကောင်းဆုံးအလေ့အထများနှင့်အညီပိုမိုများပြားနိုင်သည်။ ယနေ့ကျွန်ုပ်တို့သည် stretcasecmp function ကိုမည်သို့အသုံးပြုရမည်ကိုဆွေးနွေးမည်။

1 ။ strnatcasecmp function ကိုမိတ်ဆက်

strnatcasecmp function ကိုကြိုးနှစ်ချောင်း (အမှုအသေးအဖွဲ) သည်သဘာဝ sorting အမိန့်နှင့်အညီလိုက်လျောညီထွေဖြစ်အောင်နှိုင်းယှဉ်ကြည့်ရှုရန်အသုံးပြုသည်။

  • strings နှစ်ခုတန်းတူဖြစ်ကြောင်းဖော်ပြရန် 0 ပြန်လာ

  • ဆိုလိုတာကအနုတ်လက်ခဏာတန်ဖိုးကိုပြန်ပေးတယ်ဆိုတာဒုတိယ string ထက်သေးငယ်တယ်ဆိုတာကိုဆိုလိုတာ

  • ပထမ string ကိုဒုတိယ string ထက်ပိုကြီးတဲ့အပြုသဘောဆောင်တဲ့တန်ဖိုးကိုပြန်ပေးပါ

အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 int strnatcasecmp ( string $string1 , string $string2 )

2 ။ strnatcasecmp မျိုးစုံ parameter သည် sorting နှင့်သက်ဆိုင်ပုံ

လက်တွေ့ကျသောအပလီကေးရှင်းများတွင်ကျွန်ုပ်တို့သည်ကြိုးပေါင်းများစွာကိုခွဲရန်လိုအပ်သည်။ PHP သည်သဘာဝ sorting ရရှိရန်အတွက် USort function နှင့် strnatcasecmp ကို ထောက်ပံ့ပေးသည်။ strnatcasecmp ကိုအသုံးပြုပြီးကြိုးပေါင်းစုံမျိုးစုံကိုဘယ်လိုခွဲခြားရမယ်ဆိုတာပြတဲ့ဥပမာတစ်ခုပါ။

3 ။ နမူနာကုဒ်

 <?php
// sorted ခံရဖို့ကြိုးများခင်းကျင်း
$array = array(
    "img20.jpg",
    "img3.jpg",
    "img100.jpg",
    "img12.jpg",
    "img1.jpg"
);

// အသုံးပြု usort နှင့် strnatcasecmp Arrays sort
usort($array, 'strnatcasecmp');

// output ကို sorted ရလဒ်များ
foreach ($array as $file) {
    echo $file . "<br>";
}
?>

4 ။ code ခွဲခြမ်းစိတ်ဖြာ

အထက်ဖော်ပြပါကုဒ်များတွင်ဖိုင်အမည်များပါ 0 င်သော array $ array တစ်ခုသတ်မှတ်ထားသည်။ ဤဖိုင်အမည်များတွင်ကိန်းဂဏန်းအစိတ်အပိုင်းများပါ 0 င်ပြီး၎င်းသည်သဘာဝ sorting အောင်မြင်ရန် strnatcasecmp မှတစ်ဆင့်ဖြစ်သည်။ ထို့နောက် strnatcasecmp နှင့်အတူခင်းကျင်းရန် abortort function ကိုအသုံးပြုပါ။ နောက်ဆုံးတွင် sorted file name ကို output လုပ်ပါ။

5 ။ အမှုအားမည်သည့်အခါကအမှု၌လျစ်လျူရှုနည်း

strnatcasecmp ၏အင်္ဂါရပ်မှာ၎င်းသည်စာလုံးအကြီးအသေးအရေးမကြီးဟုဆိုလိုသောကြောင့်၎င်းသည် sorting လုပ်ငန်းစဉ်အတွင်းအက်ခရာများ၏ပြ problem နာကိုအလိုအလျောက်လျစ်လျူရှုလိမ့်မည်။ ဥပမာအားဖြင့် img1.jpg နှင့် img1.jpg ရှိလျှင်၎င်းတို့ကိုတန်းတူပြုလုပ်ပါက (သဘာဝအနေဖြင့် img1.jpg ) သည် img10.jpg ၏ရှေ့တွင်ရှိလိမ့်မည်။

6 ။ sorting စည်းမျဉ်းစည်းကမ်းတွေကိုစိတ်တိုင်းကျ

သငျသညျစိတ်ကြိုက် sorting လုပ်ဆောင်ချက်များကိုအားဖြင့် parameters တွေကိုမျိုးစုံ sort နိုင်ပါတယ်။ ကွဲပြားခြားနားသောအမျိုးအစားများ strings များ၏ arrays များ၏သဘာဝ sorting များအတွက် strnatcasecmp အသုံးပြုနည်းကိုဖေါ်ပြခြင်းဥပမာတစ်ခုမှာ -

 <?php
// တစ် ဦး စိတ်ကြိုက် sorting function ကိုသတ်မှတ်
function customSort($a, $b) {
    return strnatcasecmp($a, $b);
}

// sorted ခံရဖို့ Arrays
$array = array(
    "a20", "a2", "a10", "b1", "b10"
);

// အသုံးပြု uasort မျိုးခွဲ
uasort($array, 'customSort');

// output ကို sorted ရလဒ်များ
foreach ($array as $value) {
    echo $value . "<br>";
}
?>

ဤဥပမာတွင် Uasort function နှင့် strnatcasecmp ကို အက္ခရာများနှင့်နံပါတ်များပါ 0 င်ရန်သဘာဝအားဖြင့်ခွဲခြားရန်အသုံးပြုသည်။ Array ရှိ Element များသည်သဘာဝအမိန့်တွင်စီစဉ်ထားသည်ကိုသင်တွေ့နိုင်သည်။

7 ။ URLs ၏အပြောင်းအလဲနဲ့

URLs များပါ 0 င်သော string array များကိုသဘာဝကျကျ sort လုပ်ရန်လိုအပ်ပါက strnatcasecmp သည် ကောင်းမွန်စွာအလုပ်လုပ်သည်။ ကျွန်ုပ်တို့တွင်ဒိုမိန်းအမည်များနှင့်အတူ URLs အစုတခုရှိသည်ဆိုပါစို့။ လမ်းကြောင်းအတိုင်းသဘာဝကျကျ sort လိုသောကြောင့်အောက်ပါကုဒ်ကိုသုံးနိုင်သည်။

 <?php
// အဓိပ္ပာယ်ဖွင့်ဆိုချက်များပါရှိသည် URL ၏ခင်းကျင်း
$urls = array(
    "https://gitbox.net/file20.jpg",
    "https://gitbox.net/file3.jpg",
    "https://gitbox.net/file100.jpg",
    "https://gitbox.net/file12.jpg",
    "https://gitbox.net/file1.jpg"
);

// အသုံးပြု usort နှင့် strnatcasecmp မျိုးခွဲ
usort($urls, 'strnatcasecmp');

// output ကို sorted ရလဒ်များ
foreach ($urls as $url) {
    echo $url . "<br>";
}
?>

8 ။ အကျဉ်းချုပ်

အထက်ပါဥပမာများနှင့်အတူ strnatcasecmp function သည်သဘာဝ sorting အတွက်အလွန်သင့်လျော်သောကိရိယာတစ်ခုဖြစ်ကြောင်းကျွန်ုပ်တို့တွေ့မြင်နိုင်သည်။ Sorting functions များကဲ့သို့သောလုပ်ငန်းဆောင် တာ များကို ပြုလုပ်သော လုပ်ဆောင်မှုများနှင့်အတူ၎င်းသည်ကျွန်ုပ်တို့အားသဘာဝအမိန့်တွင် parameters များကိုအလွယ်တကူခွဲနိုင်ရန်ကျွန်ုပ်တို့အားကူညီနိုင်သည်။

ဒီဆောင်းပါးက stringscasecmp function ကိုဘယ်လိုသုံးရမလဲဆိုတာကိုပိုမိုနားလည်သဘောပေါက်ရန်နှင့်၎င်းတို့အားအမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုသို့ကျင့်သုံးရန်မည်သို့အသုံးပြုရမည်ကိုပိုမိုနားလည်သဘောပေါက်ရန်မျှော်လင့်ပါသည်။