PHP တွင် string နှိုင်းယှဉ်ခြင်းသည်အလွန်များသောအားဖြင့်ခွဲစိတ်ကုသမှုဖြစ်သည်။ ကြိုးနှစ်ချောင်း၏အရွယ်အစားနှင့်တန်းတူညီမျှမှုများကိုနှိုင်းယှဉ်ရန် strcmp () သို့မဟုတ် stricasecmp () functions များကို အသုံးပြု. အသုံးပြုသည်။
ဒီဆောင်းပါးမှာ Php ရဲ့ strnatcasecmp () function ကိုဘယ်လိုသုံးရမလဲဆိုတာအသေးစိတ်ရှင်းပြမှာပါ။
Strnatcasecmp () PHP တွင် built-in function တစ်ခုဖြစ်သည်။ ၎င်းသည် "String Natural Case-Assessive နှိုင်းယှဉ်မှု" ဖြစ်သည်။ ကြိုးနှစ်ချောင်းနှစ်ခုကို "သဘာဝအမိန့်" နှင့်နှိုင်းယှဉ်သည်။
"Naturat Sorting" ဟုခေါ်သောအဓိပ္ပာယ်ကိုဆိုလိုသည်မှာနံပါတ်အစိတ်အပိုင်းများကိုဇာတ်ကောင် by-character-characters နှိုင်းယှဉ်ခြင်းထက်ဂဏန်းများကိုနှိုင်းယှဉ်နိုင်လိမ့်မည်ဟုဆိုလိုသည်။ ဥပမာအားဖြင့် string ကို "file10.txt" ကို "file2.txt" ထက် သာ. ကြီးသည်။
int strnatcasecmp ( string $str1 , string $str2 )
$ str1 နှင့် $ str2 : နှိုင်းယှဉ်ရန်ကြိုးနှစ်ချောင်း။
Value ကိုပြန်သွားပါ
အကယ်. $ str1 သည် ဒေါ်လာ str2 ထက်နည်းပါကအနုတ်လက်ခဏာနံပါတ်ကိုပြန်ပို့သည်။
နှစ်ခု strings တန်းတူလျှင်, 0 ပြန်လာ။
အကယ်. $ str1 သည် ဒေါ်လာ str2 ထက်ကြီးပါကအပြုသဘောဆောင်သောနံပါတ်ကိုပြန်ပို့သည်။
<?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 ကိုမှန်ကန်စွာအသိအမှတ်ပြုပြီးအမှု၏အရွယ်အစားကိုမှန်ကန်စွာအသိအမှတ်ပြုသည်။
function name | ကစာလုံးအကြီးအသေးရှိမရှိ | သဘာဝကျကျ sort ဖို့ရှိမရှိ | ဥပမာပြပါ |
---|---|---|---|
strcmp () | ဟုတ်ကဲ့ | မဟုတ် | စာလုံးအကြီးအသေး, ဇာတ်ကောင်နှိုင်းယှဉ် |
stricasecmp () | မဟုတ် | မဟုတ် | Case-Malayitive, character-by-character ကိုနှိုင်းယှဉ်ခြင်း |
strnatcmp () | ဟုတ်ကဲ့ | ဟုတ်ကဲ့ | အမှုအထိခိုက်မခံ, သဘာဝ sorting |
strnatcasecmp () | မဟုတ် | ဟုတ်ကဲ့ | အမှု, သဘာဝ sorting မှအာရုံမခံစားနိုင်တဲ့ |
သင်ဖိုင်အမည်ကို အခြေခံ. 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
ဖိုင်အမည်များ, ဗားရှင်းနံပါတ်များစသည်တို့ကဲ့သို့သောနံပါတ်များနှင့်အတူကြိုးများနှင့်ကိုင်တွယ်သောအခါ၎င်းသည်အလွန်လက်တွေ့ကျသည်။