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

strnatcasecmp ကိုသုံးပြီးအထူးအက္ခရာများဖြင့်ကြိုးများကိုမည်သို့စီရမည်နည်း။

gitbox 2025-05-19

PHP တွင် strnatcasecmp () string နှိုင်းယှဉ်မှုအတွက် function တစ်ခုဖြစ်ပြီး၎င်းသည် string များ၏သဘာဝအမိန့်တွင်နှိုင်းယှဉ်နိုင်သည်။ ဆိုလိုသည်မှာ၎င်းကိုဇာတ်ကောင်များ၏ ASCII တန်ဖိုးနှင့်နှိုင်းယှဉ်လျှင်သာမကနံပါတ်များ၏အရွယ်အစားဆက်နွယ်မှုများကိုလည်းထည့်သွင်းစဉ်းစားသည်။ ထို့ကြောင့်၎င်းသည်နံပါတ်များပါ 0 င်သောကြိုးများအတွက်အထူးသဖြင့်လူသားများတွင်ပိုမိုသဘာဝပတ်ဝန်းကျင်ကိုပိုမိုလုပ်ကိုင်နိုင်သည်။ ဤလုပ်ဆောင်ချက်သည်ခွဲနေသည့်အခါကိစ္စတွင်ခြားနားချက်ကိုလျစ်လျူရှုထားသည်။

သို့သော်အထူးအက္ခရာများဖြင့်ကြိုးများနှင့်ဆက်ဆံရာတွင်, ဤသို့သောမှန်ကန်မှုကိုမည်သို့သေချာအောင်လုပ်ရမည်နည်း။ ဒီဆောင်းပါးမှာ Strnatcasecmp () function ကိုဘယ်လိုသုံးရမလဲဆိုတာဆွေးနွေးပါ့မယ်။

1 ။ strnatcasecmp function ကဘာလဲ။

strnatcasecmp () function ကို stries နှစ်ခု၏အရွယ်အစားများကိုနှိုင်းယှဉ်ရန်အသုံးပြုသည်။ ရိုးရာ Stripp () function ကို () function, strcmp () သည် ဇာတ်ကောင်များနှင့်မတူဘဲ Strnatcasecmp () သည် နှိုင်းယှဉ်မှုအတွက်နံပါတ်များကိုပထမဆုံးထုတ်ယူလိမ့်မည်။ ထို့ကြောင့်, ကြိုးများပါ 0 င်သောကြိုးများပါ 0 င်သည့်အခါ၎င်းတို့ကိုနံပါတ်များအလိုက်ခွဲထားနိုင်သည်။

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

 int strnatcasecmp ( string $str1 , string $str2 )
  • $ str1 : ပထမ string ကို

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

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

2 ။ strnatcasecmp function ကို အသုံးပြု. ဘယ်လိုအမျိုးအစားလဲ။

ဥပမာ -

 <?php
$str1 = "file2.txt";
$str2 = "file10.txt";
$str3 = "file1.txt";

$arr = [$str1, $str2, $str3];
usort($arr, 'strnatcasecmp');
print_r($arr);
?>

ရလဒ်ရလဒ် -

 Array
(
    [0] => file1.txt
    [1] => file2.txt
    [2] => file10.txt
)

အထက်ပါဥပမာတွင်ပြထားတဲ့အတိုင်း strnatcasecmp () function ကနံပါတ်များကိုလူတို့၏သဘာဝအမိန့်ကိုလူသိများသည်မဟုတ်ဘဲ ascii တန်ဖိုးကိုအခြေခံသည်။ ၎င်းသည်ဖိုင်အမည်များသို့မဟုတ်နံပါတ်များပါ 0 င်သည့်မည်သည့်ကြိုးအတွက်မဆိုအထူးသဖြင့်အသုံးဝင်သည်။

3 ။ အထူးအက္ခရာများနှင့်အတူကြိုးများပြုလုပ်ပါ

stranatcasecmp () ကို အထူးအက္ခရာများပါ 0 င်သော strings များအတွက်မှန်ကန်သောစာလုံးများ (ဥပမာသင်္ကေတများ, သို့သော်, strings string ထဲရှိအထူးဇာတ်ကောင်များ၏အနေအထားနှင့်အမျိုးအစားကိုသတိပြုရန်လိုအပ်သည်,

ဥပမာ -

 <?php
$str1 = "file-2.txt";
$str2 = "file-10.txt";
$str3 = "file-1.txt";
$str4 = "[email protected]";

$arr = [$str1, $str2, $str3, $str4];
usort($arr, 'strnatcasecmp');
print_r($arr);
?>

ရလဒ်ရလဒ် -

 Array
(
    [0] => [email protected]
    [1] => file-1.txt
    [2] => file-2.txt
    [3] => file-10.txt
)

ဤဥပမာတွင်အထူးအက္ခရာများ (ဥပမာ @ နှင့် - - ) ကဲ့သို့သောအထူးအက္ခရာများသည် string sorting လုပ်သည့်အခါအမိန့်ကိုသက်ရောက်သည်။ တွေ့နိုင်သည်အတိုင်း @ နှင့် string ကိုရှေ့တွင်ရှိသည်။ PHP သည် Ascii တန်ဖိုးများအပေါ် အခြေခံ. ဤဇာတ်ကောင်များ၏အမိန့်ကိုဆုံးဖြတ်သည်။

4 ။ URL ရှိဒိုမိန်းအမည်ကိုမည်သို့အစားထိုးရမည်နည်း။

string တွင် URL တွင်ပါ 0 င်ပါက Domain Name ကိုသတ်သတ်မှတ်မှတ်ဒိုမိန်းအမည်ဖြင့်အစားထိုးလိုပါက (ဥပမာအားဖြင့် URL အမည်ရှိ domain name အားလုံးကို url ရှိ Domain Name အားလုံးကိုအစားထိုးရန်) ဤအရာကိုကိုင်တွယ်ရန်ပုံမှန်အသုံးအနှုန်းများကိုသုံးနိုင်သည်။ ဒီမှာဥပမာတစ်ခုပါ။

နမူနာကုဒ်:

 <?php
function replaceDomain($url) {
    return preg_replace('/https?:\/\/[^\/]+/', 'https://gitbox.net', $url);
}

$str1 = "https://example.com/page1";
$str2 = "https://testsite.org/hello";
$str3 = "https://mywebsite.net/about";

$arr = [$str1, $str2, $str3];
$arr = array_map('replaceDomain', $arr);

// အသုံးပြု strnatcasecmp သဘာဝ sorting လုပ်ပါ
usort($arr, 'strnatcasecmp');
print_r($arr);
?>

ရလဒ်ရလဒ် -

 Array
(
    [0] => https://gitbox.net/page1
    [1] => https://gitbox.net/hello
    [2] => https://gitbox.net/about
)

ဤဥပမာတွင် URL ရှိဒိုမိန်းအမည်အားလုံးကို gitbox.net ဖြင့်အစားထိုး။ strnatcasecmp ကို သုံး. ခွဲထားသည်။ ပုံမှန်အသုံးအနှုန်းများကသင့်အား string တစ်ခု၏မည်သည့်အစိတ်အပိုင်းကိုမဆိုပြုပြင်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်လွယ်ပါတယ်။

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

strnatcasecmp () function ကိုအသုံးပြုခြင်းသည်အလွန်အဆင်ပြေသည်။ ကြိုးများပါ 0 င်ခြင်းရှိမရှိ, သင်္ ကေ တများ, အထူးအက္ခရာများ, URL ဒိုမိန်းကိုအစားထိုးရန်လိုအပ်ပါကပုံမှန်အသုံးအနှုန်းများနှင့်လုပ်ငန်းပြီးဆုံးရန် string အစားထိုးလုပ်ဆောင်ချက်များပေါင်းစပ်မှုကိုသုံးနိုင်သည်။

အထူးဇာတ်ကောင်များနှင့် URL များပါ 0 င်သည့် string sorting ကိုကိုင်တွယ်ဖြေရှင်းသည့်အခါဤဆောင်းပါးသည်သင့်အားကူညီပေးပါ။