လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ဗားရှင်း strings ကို strnatcasecmp နှင့်နှိုင်းယှဉ်ကြည့်ပါ။

ဗားရှင်း strings ကို strnatcasecmp နှင့်နှိုင်းယှဉ်ကြည့်ပါ။

gitbox 2025-05-27

PHP တွင်တစ်ခါတစ်ရံကျွန်ုပ်တို့သည်ဗားရှင်းနံပါတ်များကိုနှိုင်းယှဉ်ရန်လိုအပ်သည် ပုံမှန် stricmp function နှင့်မတူဘဲ strnatcasecmp သည် စာလုံးများကိုစာသားအတိုင်းနှိုင်းယှဉ်ခြင်းထက်ဂဏန်းအရွယ်အစားကိုထည့်သွင်းစဉ်းစားသည်။ ဤဆောင်းပါးသည် strnatcasecmp function ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးနိုင်သည်။

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

strnatcasecmp function ကိုအမှုအားသဘာဝအမိန့်နှစ်ခုကိုနှိုင်းယှဉ်ရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်ချက်သည် stricasecmp function နှင့်ဆင်တူသော်လည်းလူ့အလိုလိုသိသူများနှင့်အညီပိုမိုဆင်တူသည်, ဆိုလိုသည်မှာနံပါတ်များနှင့်အက္ခရာများကိုသဘာဝအမိန့်နှင့်နှိုင်းယှဉ်ထားသည်။

function ကိုအဓိပ္ပါယ်:

 int strnatcasecmp ( string $str1 , string $str2 )
  • $ str1 နှင့် $ str2 များသည်နှိုင်းယှဉ်ရန်လိုအပ်သည့်ကြိုးနှစ်ချောင်းဖြစ်သည်။

  • Value ကိုပြန်သွားပါ

    • အကယ်. $ str1 သည် ဒေါ်လာ str2 ထက်နည်းပါကအနုတ်လက်ခဏာနံပါတ်ကိုပြန်ပို့သည်။

    • $ str1 သည် $ str2 နှင့်ညီသည်ဆိုပါက 0 င်ပါ။

    • အကယ်. $ str1 သည် ဒေါ်လာ str2 ထက်ကြီးပါကအပြုသဘောဆောင်သောနံပါတ်ကိုပြန်ပို့သည်။

strnatcasecmp ကြိုးများသည်ကြိုးများကိုနှိုင်းယှဉ်သောအခါနံပါတ်များကိုအမှန်တကယ်အရွယ်အစားဖြင့်နှိုင်းယှဉ်ထားသည်။ ဥပမာအားဖြင့်, "10" သည် 9 ခုထက် 9 ခုထက်ကြီးသောကြောင့် "10" သည် "9" ထက်ပိုကြီးလိမ့်မည်။

2 ။ ဗားရှင်းနံပါတ်များကိုသဘာဝအမိန့်တွင်နှိုင်းယှဉ်ပါ

ကျွန်ုပ်တို့တွင်ဗားရှင်းနံပါတ်ကြိုးများရှိသည်ဟုသဘာဝပတ်ဝန်းကျင်အနေဖြင့်ခွဲထားရန်လိုအပ်သည့်ဗားရှင်းကြိုးကြိုးများရှိသည်ဆိုပါစို့။ Strnatcasecmp သည်ဤနှိုင်းယှဉ်မှုအတွက်အလွန်သင့်လျော်သည်ဆိုပါစို့။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့တွင်အောက်ပါဗားရှင်းစာရင်းတွင်စာရင်းရှိသည်။

 $versions = ["1.10.3", "1.2.5", "1.2.10", "1.3.0", "1.1.9"];

ဤဗားရှင်းနံပါတ်များကို sort လုပ်ရန် Usort function နှင့် strnatcasecmp ကို သုံးနိုင်သည်။

 $versions = ["1.10.3", "1.2.5", "1.2.10", "1.3.0", "1.1.9"];

usort($versions, function($a, $b) {
    return strnatcasecmp($a, $b);
});

print_r($versions);

ထုတ်လုပ်မှု -

 Array
(
    [0] => 1.1.9
    [1] => 1.2.5
    [2] => 1.2.10
    [3] => 1.3.0
    [4] => 1.10.3
)

3 ။ sorting ၏ရလဒ်များကိုဘယ်လိုနားလည်ရမလဲ

output ရလဒ်များအရစစ်မှွပ်ကဲရေးအနေဖြင့် strnatcasecmp function ကိုဗားရှင်းနံပါတ်အမှန်တကယ်အရွယ်အစားနှင့်အညီခွဲထားသည်။ သဘာဝအမှာစာအမျိုးအစားသည်ဂဏန်းအရေအတွက်နှင့်နံပါတ်များအရေအတွက်အရေအတွက်ကိုထည့်သွင်းစဉ်းစားသည်။ ထို့ကြောင့် "1.10.3" အဆုံးမှာ "1.2.5" နှင့် "1.2.10" နှင့် "1.2.10" နှင့် "1.2.10" ကိုသဘာဝအစီအစဉ်ဖြင့်စီစဉ်ထားသည်။

4 ။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုအတွက်လျှောက်လွှာ

ဗားရှင်းကိန်းဂဏန်းများကိုဖြည့်ဆည်းပေးနိုင်ရန်အတွက်ဗားရှင်းနံပါတ်များကိုစီရန်လိုအပ်သည့်အခါဗားရှင်းကိန်းဂဏန်းများကိုသဘာဝပတ်ဝန်းကျင်နှင့်နှိုင်းယှဉ်လျှင် SCRATCASCMP ကို သုံးနိုင်သည်။ ဤနည်းလမ်းသည်အထူးသဖြင့်ဆော့ (ဖ်) ဝဲဗ်းဗားရှင်းများ,

ဥပမာအားဖြင့်, သင်သည် software update များကိုကိုင်တွယ်ဖြေရှင်းနေပါကဗားရှင်းနံပါတ်များစွာစာရင်းကိုသင်ကြုံတွေ့ရနိုင်သည်။ strnatcasecmp ကို အသုံးပြုခြင်းအားဖြင့်ဗားရှင်းကိန်းဂဏန်းများအလိုက်သုံးစွဲသူ၏မျှော်လင့်ချက်များနှင့်ကိုက်ညီမှုရှိကြောင်းနှင့် "10" သည် "2" မတိုင်မီမဖြစ်လိမ့်မည်ဟုသေချာစေနိုင်သည်။

5 ။ URL ကိုသုံးပါ (Domain Name ကိုအစားထိုးပါ)

သင့်တွင် URL တွင်သိမ်းထားသောဗားရှင်းနံပါတ်အချက်အလက်အစုတခုရှိသည်ဆိုပါစို့။ URL မှရရှိသောဗားရှင်းနံပါတ်များစာရင်းကိုသင်စီရန်လိုအပ်နိုင်သည်။ မူရင်း URL ကိုယူဆခြင်းသည် https://example.com/versions များ ဖြစ်သော URL ရှိ domain name ကို GitBox.net ဖြင့်အစားထိုးနိုင်သည်။

 $url = "https://gitbox.net/versions";

ဗားရှင်းနံပါတ်အချက်အလက်များကို URL ကိုတောင်းဆိုခြင်းဖြင့်အထက်တွင်ဖော်ပြထားသော strnatcasecmp နည်းလမ်းကို အသုံးပြု. ရယူနိုင်သည်။

အကျဉ်းချုပ်

ဤဆောင်းပါးတွင် PHP တွင် strnatcasecmp function ကိုသဘာဝပတ်ဝန်းကျင်အမိန့်တွင်နှိုင်းယှဉ်ရန်နှင့် sort လုပ်ရန် STPatcasecmp function ကိုမည်သို့အသုံးပြုရမည်ကိုကျွန်ုပ်တို့ဖော်ပြသည်။ ဤလုပ်ဆောင်ချက်သည်ဗားရှင်းနံပါတ်အမျိုးအစားအတွက်အလွန်သင့်လျော်သည်, ရိုးရာ string sorting ၏ဖြစ်နိုင်ချေရှိသောပြ problems နာများကိုရှောင်ရှားရန်ဖြစ်သည်။ Usort ကို strnatcasecmp နှင့်ပေါင်းစပ်ပြီး အသုံးပြု. ရလဒ်များကိုမျှော်လင့်ထားသည့်အတိုင်းသေချာစေရန်ဗားရှင်းနံပါတ်စာရင်းကိုအလွယ်တကူစီနိုင်သည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် strnatcasecmp သည်ဗားရှင်းနံပါတ်စီခြင်းနှင့်ဆက်ဆံရာတွင်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။