လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> strnatcasecmp အတွက် string array sorting အတွက်လျှောက်လွှာအကြံပြုချက်များ

strnatcasecmp အတွက် string array sorting အတွက်လျှောက်လွှာအကြံပြုချက်များ

gitbox 2025-05-19

PHP တွင် string array များသည်အသုံးအများဆုံးစစ်ဆင်ရေးတစ်ခုဖြစ်သည်။ Strings ကို "သဘာဝအမိန့်" တွင်ခွဲထားရန်လိုအပ်သည့်အခြေအနေများအတွက် PHP သည်အလွန်အဆင်ပြေသောလုပ်ဆောင်မှုကိုထောက်ပံ့ပေးသည် ဤလုပ်ဆောင်မှုကိုဖြစ်ရပ်မှန်အာရုံမခံစားနိုင်သောသဘာဝ sorting အတွက်အသုံးပြုသည်။

ဒီဆောင်းပါးမှာ string strings တွေကိုထိထိရောက်ရောက် Sort လုပ်ပြီး string array တွေကိုထိရောက်စွာခွဲခြားပြီးဘယ်လိုလေ့လာနိုင်မလဲဆိုတာကိုမိတ်ဆက်ပေးမှာပါ။

သဘာဝကဘာလဲ?

သဘာဝ sorting သည် "လူ့ယုတ္တိဗေဒ" နှင့်ကွဲပြားခြားနားသော "လူ့ယုတ္တိဗေဒ" နှင့်ကွဲပြားသောနည်းလမ်းဖြစ်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်ကြိုးများတပ်ဆင်ထားသည့်အစုတခုစီကိုစီရန် -

 "apple10", "apple2", "apple1"

သာမန်အဘိဓာန် sorting က sorts:

 "apple1", "apple10", "apple2"

နှင့်သဘာဝ sorting သည်မှန်ကန်စွာခွဲခြားလိမ့်မည်။

 "apple1", "apple2", "apple10"

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

strnatcasecmp ကို ဘယ်လိုသုံးရမလဲ

strnatcasecmp လုပ်ဆောင်ချက်သည် PHP တွင်သဘာဝ sorting အတွက် built-in function တစ်ခုဖြစ်သည်။ ၎င်း၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 int strnatcasecmp ( string $str1 , string $str2 )

ဤလုပ်ဆောင်ချက်သည် strivecmp နှင့်ဆင်တူသော်လည်း Strnatcasecmp သည် strnatcasecmp သည် "သဘာဝအစီအစဉ်" တွင်ကြိုးနှစ်ချောင်းဖြင့်ပြုလုပ်နိုင်သည်။

Parametermer

  • $ str1 : ပထမ string ကို။

  • $ str2 : ဒုတိယ string ကို။

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

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

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

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

ဥပမာ - string string array များကို strnatcasecmp သုံး. Sort

ထို့နောက် string array များကို string array များကို strnatcasecmp ကို မည်သို့ခွဲခြားရမည်ကိုပြသသောလက်တွေ့ကျသောဥပမာတစ်ခုကိုကြည့်ကြစို့။

 <?php
// ဥပမာ string array
$strings = ["apple10", "apple2", "apple1", "banana9", "banana10", "apple12"];

// အသုံးပြု usort နှင့် strnatcasecmp ရေှးချယ်
usort($strings, function($a, $b) {
    return strnatcasecmp($a, $b);
});

// 输出ရေှးချယ်后的数组
print_r($strings);
?>

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

 Array
(
    [0] => apple1
    [1] => apple2
    [2] => apple10
    [3] => apple12
    [4] => banana9
    [5] => banana10
)

သင်မြင်နိုင်သည့်အတိုင်း USort function သည် string array ကို string array ကို string array ကို strnatcasecmp နှင့်ကိုက်ညီအောင်ပြုလုပ်နိုင်သည်။ အဆိုပါ sorting ရလဒ်များသည်လူ့ဘုံသဘောမျိုးနှင့်ကိုက်ညီသည် - နံပါတ်အစိတ်အပိုင်းများကိုအရွယ်အစားအလိုက်စီထားပြီးအက္ခရာများကိုအက္ခရာစဉ်အတိုင်းစီထားကြသည်။

အဘယ်ကြောင့်ရိုးရာ sorting လုပ်ဆောင်ချက်များကိုအစား strnatcasecmp ကို အဘယ်ကြောင့်အသုံးပြု?

  1. နံပါတ်အပိုင်းကိုကိုင်တွယ်ခြင်း - ပုံမှန် string sorting နည်းလမ်းသည်နံပါတ်များကိုဇာတ်ကောင်များအဖြစ်ကိုင်တွယ်လိမ့်မည်။

  2. Caster Assessive: strnatcasecmp function သည် strnatcasecmp function သည် strnatcasecmp နှင့်ဆင်တူသည်။ အများအားဖြင့်အာရုံမခံစားနိုင်သော, ဥပမာအားဖြင့် "Apple" နှင့် "Apple" နှင့် "Apple" ကိုထပ်တူစဉ်းစားလိမ့်မည်။

အကျဉ်းချုပ်

strnatcasecmp function ကိုအသုံးပြုခြင်းအားဖြင့်သင်သည် Numeric အစိတ်အပိုင်းများနှင့်ဆက်ဆံခြင်းသာမကဘဲအသေးအဖွဲကိစ္စများနှင့်မသက်ဆိုင်ပါ။ ၎င်းသည်နံပါတ်များသို့မဟုတ်အခြားရှုပ်ထွေးသောဇာတ်ကောင်များပါ 0 င်သည့်ကြိုးများတပ်ဆင်ခြင်းနှင့်စပ်လျဉ်း။ အထူးသဖြင့်ပရိုဂရမ်၏ထိရောက်မှုနှင့်ဖတ်နိုင်မှုကိုသိသိသာသာတိုးတက်စေနိုင်သည်။

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


Strnatcasecmp function ကိုပိုမိုနားလည်သဘောပေါက်မှုကိုပိုမိုနားလည်သဘောပေါက်ရန်ဤဆောင်းပါးသည်သင့်အားကူညီနိုင်လိမ့်မည်ဟုမျှော်လင့်ပါ။ သင့်တွင်မေးခွန်းများသို့မဟုတ်အကြံပြုချက်များရှိပါကမှတ်ချက်ပေးသည့်အပိုင်းတွင်ကျွန်ုပ်နှင့်ကျွန်ုပ်နှင့်ဆွေးနွေးပါ။