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

PHP strnatcasecmp မကြာခဏအစာမစားဘဲအဘယ်အမှုနှင့်အသေးများကြိုးကြိုးကိုင်တွယ်သည့်အခါမကြာခဏမေးလေ့ရှိသောမေးခွန်းများ

gitbox 2025-05-26

PHP တွင်ကျွန်ုပ်တို့သည်ကြိုးများကိုနှိုင်းယှဉ်ရန်လိုအပ်သည်။ အထူးသဖြင့်ကျွန်ုပ်တို့သည် strcmp () သို့မဟုတ် stricasecmp ကဲ့သို့သောပုံမှန်နှိုင်းယှဉ်လုပ်ဆောင်မှုများကို အသုံးပြု. ကွဲပြားခြားနားသောစာလုံးအကြီးများနှင့်စာလုံးအကြီးများကိုအသုံးပြုခြင်းသည်အထူးသဖြင့် strippary များနှင့်တိုက်ရိုက်မမျှော်လင့်သောရလဒ်များကိုဖြစ်ပေါ်စေနိုင်သည်။ ဤကိစ္စတွင် strnatcasecmp () လုပ်ဆောင်ချက်သည်အထူးသဖြင့်ရောနှောထားသောအမှုကြိုးများနှင့်နှိုင်းယှဉ်လျှင်ပိုမိုထိရောက်သောနှင့်အသိဉာဏ်ရှိသောနည်းလမ်းဖြစ်သည်။ ဤဆောင်းပါးသည် strnatcasecmp () function ကို အသုံးပြု. အသုံးပြုမှုကိုမိတ်ဆက်ပေးပြီးဘုံ string ကိုနှိုင်းယှဉ်ခြင်းပြ problems နာများကိုမည်သို့ကူညီနိုင်ကြောင်းပြသပါမည်။

1 ။ strnatcasecmp () function ကဘာလဲ?

Strnatcasecmp () PHP တွင် string နှစ်ခုနှင့်နှိုင်းယှဉ်ခြင်း function သည် string နှစ်ခုနှင့်နှိုင်းယှဉ်ခြင်း, ဤလုပ်ဆောင်ချက်သည် strcmp () နှင့် stricasecmp () နှင့်ဆင်တူသည်, သို့သော်၎င်းသည် "သဘာဝ" နှင့်နှိုင်းယှဉ်ခြင်း၏ "သဘာဝ" နည်းလမ်းကိုအထူးသဖြင့်ကြိုးများနှင့်နှိုင်းယှဉ်သောအခါ။

ဤလုပ်ဆောင်ချက်၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 int strnatcasecmp ( string $str1 , string $str2 )
  • parameter သည်ဖော်ပြချက် :

    • $ str1 : နှိုင်းယှဉ်ဖို့ပထမ ဦး ဆုံး string ကို။

    • $ str2 : နှိုင်းယှဉ်ဖို့ဒုတိယ string ကို။

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

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

    • အကယ်. ဒေါ်လာ str1 သည် ဒေါ်လာ str2 နှင့်ညီသည်ဆိုပါက 0 ကိုပြန်လာပါ။

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

Strcasecmp () , strnatcasecmp () မတူဘဲ "Natern Sort" နည်းလမ်းကိုအသုံးပြုသည်။ ၎င်းသည်ဇာတ်ကောင်၏ ASCII တန်ဖိုးထက်နံပါတ်တစ်ခု၏တန်ဖိုးကိုခွဲခြားရန်ဖြစ်သည်။

2 ။ Strnatcasecmp () ဘာကြောင့်လဲ။

ရောနှောထားသောအမှုအရာကြိုးနှင့်ကိုင်တွယ်ရာတွင် strcasecmp () ကို တိုက်ရိုက်အသုံးပြုခြင်းသည်ပင်ကိုယ်သိစိတ်အလိုလိုသိသောရလဒ်များရရှိနိုင်သည်။ ဥပမာအားဖြင့်, ပုံမှန် string နှိုင်းယှဉ်မှုများတွင် 'Apple' ကို 'ငှက်ပျော ထက် သေးငယ်သည်ဟုယူဆရလိမ့်မည်

3 ။ strnatcasecmp () ကိုသုံးပါ

strnatcasecmp () function ကိုသုံးရန်နှင့်ကြိုးနှစ်ချောင်းကိုနှိုင်းယှဉ်ရန်နှင့်သူတို့၏အမှုကိုလျစ်လျူရှုရန် STRNATCATCMP () function ကိုမည်သို့အသုံးပြုရမည်ကိုပြသသည့်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။

 <?php
$str1 = "apple";
$str2 = "Apple";

if (strnatcasecmp($str1, $str2) == 0) {
    echo "တန်းတူညီမျှမှု\n";
} else {
    echo "strings တန်းတူကြသည်မဟုတ်\n";
}
?>

ရလဒ်ရလဒ် -

 တန်းတူညီမျှမှု

ဒီဥပမာမှာ Apple နဲ့ Apple ' နဲ့ ' Apple ' ကွဲပြားပေမယ့် strnatcasecmp () က သူတို့ကိုတန်းတူဆက်ဆံတယ်။ အထူးသဖြင့်အသုံးပြုသူ input နှင့် file name sorting ကဲ့သို့သောလုပ်ငန်းများကိုလုပ်ဆောင်သည့်အခါဤသို့သောဖွံ့ဖြိုးတိုးတက်မှုတွင်ဤသဘာဝ sorting နည်းလမ်းသည်အလွန်အသုံးဝင်သည်။

4 ။ strnatcasecmp () နံပါတ်များနှင့်အက္ခရာများနှင့်အတူရောနှောကြိုးကိုင်တွယ်

Strnatcasecmp () ၏ အထင်ရှားဆုံးသောအားသာချက်များအနက်မှတစ်ခုမှာနံပါတ်များနှင့်အက္ခရာများနှင့်ရောနှောထားသောကြိုးများကိုထိရောက်စွာကိုင်တွယ်နိုင်စွမ်းဖြစ်သည်။ ဤကိစ္စတွင် strnatcasecmp () spranscasecmp () သည် strcmp () နှင့်မတူသော strcmp () နှင့်အညီဇာတ်ကောင်များ၏ ascii တန်ဖိုးကိုအခြေခံသည်။

ဥပမာအားဖြင့်:

 <?php
$str1 = "file10";
$str2 = "file2";

if (strnatcasecmp($str1, $str2) < 0) {
    echo "$str1 ထက်နည်းသော $str2\n";
} else {
    echo "$str1 ထက်သာခြင်း $str2\n";
}
?>

ရလဒ်ရလဒ် -

 file10 ထက်နည်းသော file2

ဤဥပမာတွင် strnatcasecmp () သည် 'file10' သည် 'file20' ထက် 'file10' ထက် ' file2' အစား '' file10 ' သည် ' file10 ' သည် ' file2 ' ဖြစ်သည်ဟုထင်မြင်သည်။

5 ။ လက်တွေ့ကျသောလျှောက်လွှာ - ရောနှောထားသောအမှု string array sorting

ကျွန်ုပ်တို့တွင်ရောနှောထားသောအမှုနှင့်နံပါတ်များပါ 0 င်သည့်ကြိုးများနှင့်ကျွန်ုပ်တို့မျိုးစိတ်ဖြင့်မျိုးစိတ်ဖြင့်မျိုးစိတ်များပါ 0 င်သည်ဆိုပါစို့။ သင်ကအကောင်အထည်ဖော်ရန် strnatcasecmp () နှင့် usort () ကို သုံးနိုင်သည်။

 <?php
$array = ["file10", "file2", "file1", "File9", "file20"];

usort($array, "strnatcasecmp");

print_r($array);
?>

ရလဒ်ရလဒ် -

 Array
(
    [0] => file1
    [1] => file2
    [2] => file9
    [3] => file10
    [4] => file20
)

အပေါ်တွင်ပြထားတဲ့အတိုင်း strnatcasecmp () က ကျွန်တော်တို့ဟာခင်းကျင်းမှုကိုသဘာဝပတ်ဝန်းကျင်အတိုင်းမှန်ကန်စွာစီထားတာသေချာအောင်လုပ်ပေးပါ။

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

Strnatcasecmp () သည်အလွန်အသုံးဝင်သော PHP string နှိုင်းယှဉ်ခြင်း function တစ်ခုဖြစ်သည်, အထူးသဖြင့်ကိစ္စရပ်များ, နံပါတ်များနှင့်အက္ခရာများကိုရောနှောသောကြိုးနှင့်နှိုင်းယှဉ်ပါ။ stripraincmp () နှင့် strcmp ကဲ့သို့သောသာမန် string ကိုနှိုင်းယှဉ်ခြင်းလုပ်ဆောင်ချက်များကြောင့်ရှုပ်ထွေးမှုများကိုရှောင်ရှားနိုင်သည့်သဘာဝ sorting နည်းလမ်းကိုပေးသည်။ strnatcasecmp () () ဖိုင်အမည်များ, သုံးစွဲသူထည့်သွင်းမှုသို့မဟုတ်သင်ရောနှောထားသောကြိုးများကိုခွဲရန်လိုအပ်သည့်အခါအလွန်ထိရောက်သောရွေးချယ်မှုဖြစ်သည်။

အခြားဆက်စပ်အရင်းအမြစ်များ

string processing လုပ်ခြင်းနှင့်နှိုင်းယှဉ်ခြင်းလုပ်ဆောင်ချက်များအကြောင်းပိုမိုလေ့လာလိုပါကအောက်ပါအရင်းအမြစ်များသည်သင့်အတွက်အထောက်အကူဖြစ်နိုင်သည်။