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

လိုင်းတစ်ခုစီကိုစာသားအတိုင်းလူသိများသောစာသားတွင်မျိုးစိတ်တစ်ခုစီကိုမည်သို့ခွဲခြားရန် strnatcasecmp ကိုအသုံးပြုရမည်နည်း။

gitbox 2025-05-27

PHP တွင် strnatcasecmp function သည်သဘာဝအမိန့်နှိုင်းယှဉ်မှုများပြုလုပ်ရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ ၎င်းသည် strings ကိုထည့်သွင်းစဉ်းစားရန် strings ကို strings နံပါတ်များကိုထည့်သွင်းရန်, ၎င်းသည်နံပါတ်များကိုအမည်များ, စာရင်းပစ္စည်းများစသည်တို့ကိုအမျိုးအစားများ, စာရင်းပစ္စည်းများစသည်တို့ကဲ့သို့သောနံပါတ်များဖြင့်စာသားများဖြင့်စာသားများနှင့်အတူပြောင်းလဲခြင်းအတွက်အထူးသဖြင့်အသုံးဝင်သည်။

စာသားလိုင်းမျိုးစုံကိုသဘာဝကျကျခွဲခြားရန် PHP ၏ strnatcasecmp function ကိုမည်သို့အသုံးပြုရမည်ကိုဤဆောင်းပါးကရှင်းပြပါမည်။

1 ။ strnatcasecmp function ကဘာလဲ။

strnatcasecmp function ကို strings နံပါတ်များနှင့်အညီအမှုနှင့်သဘာဝအစဉ်အဆက်အတိုင်းသဘာဝအမိန့်ကိုလျစ်လျူရှုသောသဘာဝအမိန့်ကိုနှိုင်းယှဉ်ရန် strnatcasecmp function ကိုအသုံးပြုသည်။ ၎င်းသည်နံပါတ်များနှင့်စာသားနှင့်ဆက်ဆံရာတွင်ပုံမှန် strcmp function ထက် ပို. တိကျစေသည်။

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

  • Return Value ဆိုသည်မှာကိန်းဂဏန်းတစ်ခုဖြစ်ပြီး str1 သည် str2 ထက်နည်းလျှင်၎င်းသည်အနုတ်လက်ခဏာတန်ဖိုးကိုပြန်လည်ရရှိစေသည်။ str1 str2 ထက်ကြီးလျှင်၎င်းသည်အပြုသဘောဆောင်သောတန်ဖိုးကိုပြန်လည်ရရှိစေသည်။ သူတို့တန်းတူဖြစ်ရင် 0 ပြန်လာပြီ။

2 ။ ဥပမာ - စာသားမျိုးစုံကိုသဘာဝကျကျဘယ်လိုခွဲခြားရမလဲ။

ကျွန်ုပ်တို့သည်သဘာဝ sorting အရခွဲခြားရန်လိုအပ်သည့်အောက်ပါစာသားများ၏အောက်ပါစာသားများရှိသည်ဆိုပါစို့။ နမူနာစာသားတွင်နံပါတ်များပါ 0 င်သည်။

 line10
line2
line1
line20
line11
line3

ကျွန်ုပ်တို့သည်ဤစာသားများ၏စာသားများကိုကိန်းဂဏန်းများမဟုတ်ဘဲနံပါတ်များဖြင့်လိုချင်သည်။

3 ။ strnatcasecmp ကိုသုံးပြီး Multiline စာသားကိုစီပါ

ကျွန်ုပ်တို့သည်ဤကျမ်းချက်များကိုထည့်သွင်းရန်ပထမ ဦး ဆုံးသိုလှောင်နိုင်ပြီး strnatcascasecmp ဖြင့် Usort function ကို သုံး. ၎င်းတို့ကိုရွေးချယ်နိုင်သည်။ ဤတွင်အပြည့်အဝနမူနာကုဒ်ဖြစ်ပါတယ်:

 <?php
// Multi-line text array
$text = [
    'line10',
    'line2',
    'line1',
    'line20',
    'line11',
    'line3'
];

// အသုံးပြု strnatcasecmp Arrays sort
usort($text, 'strnatcasecmp');

// output ကို sorted array
foreach ($text as $line) {
    echo $line . PHP_EOL;
}
?>

ရှင်းပြပါ -

  • ကျနော်တို့ array $ စာသားကို sort ဖို့ abort function ကိုသုံးပါတယ်။ USort function သည် parameters နှစ်ခုကိုလက်ခံသည်။ ပထမတစ်ခုမှာ sorting အတွက်နှိုင်းယှဉ်မှု function သည်နှိုင်းယှဉ်ခြင်း function တစ်ခုဖြစ်သည်။ ဤနေရာတွင်ကျွန်ုပ်တို့သည် strnatcasecmp ကိုနှိုင်းယှဉ်အဖြစ်အသုံးပြုသည်။

  • strnatcasecmp string အတွက်နံပါတ်များအရသဘာဝကျကျ sort ပါလိမ့်မယ်။

  • အဆိုပါ sorted output ကိုဖြစ်လိမ့်မည်:

 line1
line2
line3
line10
line11
line20

4 ။ URLs များပါ 0 င်သောစာသား

URLs ပါ 0 င်သည့်စာသားကိုလုပ်ဆောင်သည့်အခါဒိုမိန်းအမည်များနှင့်လမ်းကြောင်းများပါ 0 င်သည့်ဤစာသားကိုစီရန်လိုအပ်နိုင်သည်။ စာသားတွင် URL များစွာပါ 0 င်သည်ဟုယူဆလျှင် strnatcasecmp ကို မည်သို့အသုံးပြုနိုင်မည်နည်း။

 <?php
// ပါဝင် URL စာသား array
$urls = [
    'https://example.com/page10',
    'https://gitbox.net/page2',
    'https://gitbox.net/page1',
    'https://example.com/page20',
    'https://gitbox.net/page11',
    'https://example.com/page3'
];

// အသုံးပြု strnatcasecmp မှန်သော URL sorting များအတွက် Arrays
usort($urls, 'strnatcasecmp');

// output ကို sorted URL
foreach ($urls as $url) {
    echo $url . PHP_EOL;
}
?>

မှတ်ချက်။ ။ အထက်ပါဥပမာတွင်ဒိုမိန်းအမည်အမည်ကို GitBox.net နှင့်အစားထိုးခဲ့သည်။ ဤကုဒ်ကို URL ရှိ လမ်းကြောင်း အပိုင်းကို အခြေခံ. သဘာဝအားဖြင့်ခွဲခြားထားသည်။

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

Strnatcasecmp function သည်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ strnatcasecmp ဖြင့် absort ကို အသုံးပြု. ကျွန်ုပ်တို့သည်စာသားအမျိုးမျိုးသို့မဟုတ် URL များကိုအလွယ်တကူစီနိုင်သည်။

ဤ sorting method သည်ဂဏန်းအစိတ်အပိုင်းများကိုကျိုးကြောင်းဆီလျော်စွာခွဲခြားသည်သာမကရိုးရာ string နှိုင်းယှဉ်မှုနည်းလမ်းများဆောင်ကြဉ်းပေးနိုင်သည့် sorting ပြ problems နာများကိုလည်းရှောင်ရှားနိုင်သည်။ Strnatcasecmp သည်စာသားများပါ 0 င်သောစာသားများနှင့်ဆက်ဆံရာတွင်အလွန်လက်တွေ့ကျသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။