လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP strnatcasecmp ကို သုံး. ကြိုးနှစ်ချောင်းကိုနှိုင်းယှဉ်သောအခါအမှုကိုလျစ်လျူရှုနည်း။

PHP strnatcasecmp ကို သုံး. ကြိုးနှစ်ချောင်းကိုနှိုင်းယှဉ်သောအခါအမှုကိုလျစ်လျူရှုနည်း။

gitbox 2025-05-27

PHP တွင် string နှိုင်းယှဉ်ခြင်းသည်အလွန်များသောအားဖြင့်ခွဲစိတ်ကုသမှုဖြစ်သည်။ ကြိုးနှစ်ချောင်း၏အရွယ်အစားနှင့်တန်းတူညီမျှမှုများကိုနှိုင်းယှဉ်ရန် strcmp () သို့မဟုတ် stricasecmp () functions များကို အသုံးပြု. အသုံးပြုသည်။

ဒီဆောင်းပါးမှာ Php ရဲ့ strnatcasecmp () function ကိုဘယ်လိုသုံးရမလဲဆိုတာအသေးစိတ်ရှင်းပြမှာပါ။

strnatcasecmp လုပ်ဆောင်ချက်ကဘာလဲ။

Strnatcasecmp () PHP တွင် built-in function တစ်ခုဖြစ်သည်။ ၎င်းသည် "String Natural Case-Assessive နှိုင်းယှဉ်မှု" ဖြစ်သည်။ ကြိုးနှစ်ချောင်းနှစ်ခုကို "သဘာဝအမိန့်" နှင့်နှိုင်းယှဉ်သည်။

"Naturat Sorting" ဟုခေါ်သောအဓိပ္ပာယ်ကိုဆိုလိုသည်မှာနံပါတ်အစိတ်အပိုင်းများကိုဇာတ်ကောင် by-character-characters နှိုင်းယှဉ်ခြင်းထက်ဂဏန်းများကိုနှိုင်းယှဉ်နိုင်လိမ့်မည်ဟုဆိုလိုသည်။ ဥပမာအားဖြင့် string ကို "file10.txt" ကို "file2.txt" ထက် သာ. ကြီးသည်။

strnatcasecmp function ကို syntax

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

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

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

    • နှစ်ခု strings တန်းတူလျှင်, 0 ပြန်လာ။

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

ဥပမာ - Case နှိုင်းယှဉ်ကြိုးများကိုလျစ်လျူရှုရန် strnatcasecmp ကိုအသုံးပြုခြင်း

 <?php
$str1 = "File10.txt";
$str2 = "file2.txt";

$result = strnatcasecmp($str1, $str2);

if ($result < 0) {
    echo "'$str1' ထက်နည်းသော '$str2'";
} elseif ($result > 0) {
    echo "'$str1' ထက်သာခြင်း '$str2'";
} else {
    echo "'$str1' နှင့် '$str2' တူညီသော";
}
?>

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

 'File10.txt' ထက်သာခြင်း 'file2.txt'

ဤတွင်ပထမ string ၏နံပါတ်၏နံပါတ်သည် "10" ဖြစ်သော်လည်းဒုတိယမှာ "2 " သည်နံပါတ် 2 ကိုမှန်ကန်စွာအသိအမှတ်ပြုပြီးအမှု၏အရွယ်အစားကိုမှန်ကန်စွာအသိအမှတ်ပြုသည်။

အခြား string ကိုနှိုင်းယှဉ်လုပ်ဆောင်ချက်များနှင့်ကွဲပြားခြားနားမှု

function name ကစာလုံးအကြီးအသေးရှိမရှိ သဘာဝကျကျ sort ဖို့ရှိမရှိ ဥပမာပြပါ
strcmp () ဟုတ်ကဲ့ မဟုတ် စာလုံးအကြီးအသေး, ဇာတ်ကောင်နှိုင်းယှဉ်
stricasecmp () မဟုတ် မဟုတ် Case-Malayitive, character-by-character ကိုနှိုင်းယှဉ်ခြင်း
strnatcmp () ဟုတ်ကဲ့ ဟုတ်ကဲ့ အမှုအထိခိုက်မခံ, သဘာဝ sorting
strnatcasecmp () မဟုတ် ဟုတ်ကဲ့ အမှု, သဘာဝ sorting မှအာရုံမခံစားနိုင်တဲ့

ပေါင်းစပ် URL ဥပမာ

သင်ဖိုင်အမည်ကို အခြေခံ. URLs နှစ်ခု၏လမ်းကြောင်းအပိုင်းကိုနှိုင်းယှဉ်ရန်နှင့်အမှုနှင့်ကိန်းဂဏန်းအရွယ်အစားဆက်ဆံရေးကိုလျစ်လျူရှုလိုပါကသင်အောင်မြင်ရန် strnatcasecmp () ကို သုံးနိုင်သည်ဆိုပါစို့။

 <?php
$url1 = "https://gitbox.net/files/File10.txt";
$url2 = "https://gitbox.net/files/file2.txt";

// သုံးသပ်ကြည့်ရှုခြင်း URL,လမ်းကြောင်းအပိုင်းကိုယူပါ
$path1 = parse_url($url1, PHP_URL_PATH);
$path2 = parse_url($url2, PHP_URL_PATH);

// အသုံးပြု strnatcasecmp လမ်းကြောင်းများနှင့်နှိုင်းယှဉ်
if (strnatcasecmp($path1, $path2) < 0) {
    echo "$path1 ထက်နည်းသော $path2";
} elseif (strnatcasecmp($path1, $path2) > 0) {
    echo "$path1 ထက်သာခြင်း $path2";
} else {
    echo "$path1 နှင့် $path2 တူညီသော";
}
?>

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

 /files/File10.txt ထက်သာခြင်း /files/file2.txt

ဖိုင်အမည်များ, ဗားရှင်းနံပါတ်များစသည်တို့ကဲ့သို့သောနံပါတ်များနှင့်အတူကြိုးများနှင့်ကိုင်တွယ်သောအခါ၎င်းသည်အလွန်လက်တွေ့ကျသည်။