PHP တွင် strnatcasecmp နှင့် stricasecmp တို့တွင် strcasecmp သည်ကြိုးများကိုနှိုင်းယှဉ်ရန်အသုံးပြုသောလုပ်ဆောင်ချက်နှစ်ခုဖြစ်သည်။ သူတို့မှာအလားတူလုပ်ဆောင်ချက်အချို့ရှိသော်လည်းအဓိကကွဲပြားခြားနားမှုအချို့ရှိသည်။ ဤလုပ်ဆောင်မှုနှစ်ခုအကြားခြားနားချက်ကိုနားလည်ခြင်းသည်ကုဒ်ရေးသားသည့်အခါအမှန်တကယ်လိုအပ်ချက်နှင့်အညီသင့်လျော်သောလုပ်ဆောင်ချက်များကိုရွေးချယ်ရန်ကူညီနိုင်သည်။
stricasecmp function သည် PHP တွင်ကြိုးနှစ်ချောင်းနှင့်နှိုင်းယှဉ်သော function တစ်ခုဖြစ်သည်။ ၎င်းသည်ကြိုးနှစ်ချောင်းနှင့်အက္ခရာများကိုလျစ်လျူရှုခြင်းကိုလျစ်လျူရှုထားသည်။ အောက်ပါတန်ဖိုးများကိုပြန်ပို့သည်။
နှစ်ခု strings အတူတူပင်လျှင်, ပြန်လာ 0 ။
ပထမ string သည်ဒုတိယ string ထက်သေးငယ်ပါကအနုတ်လက်ခဏာနံပါတ်ကိုပြန်ပို့သည်။
ပထမ string သည်ဒုတိယ string ထက်သာလွန်ပါကအပြုသဘောဆောင်သောနံပါတ်ကိုပြန်လည်ရောက်ရှိလာပါက။
int strcasecmp ( string $str1 , string $str2 )
<?php
$str1 = "Hello World";
$str2 = "hello world";
if (strcasecmp($str1, $str2) == 0) {
echo "The strings are equal.";
} else {
echo "The strings are not equal.";
}
?>
The strings are equal.
Strcasecmp သည် ကြိုးနှစ်ချောင်း၏အက္ခရာစဉ်အတိုင်းနှိုင်းယှဉ်သော်လည်းသူတို့၏အမှုကိုလျစ်လျူရှုထားသည်။
strnatcasecmp function သည် strnatcasecmp နှင့်ဆင်တူပြီးကြိုးနှစ်ချောင်းကိုနှိုင်းယှဉ်ရန်လည်းအသုံးပြုသည်။ ခြားနားချက်မှာ strnatcasecmp သည် နှိုင်းယှဉ်မှုအတွက်သဘာဝအမိန့် (သဘာဝအမိန့်) ကိုအသုံးပြုသည်။ ဆိုလိုသည်မှာ၎င်းသည် "သဘာဝလူ့" လမ်းစဉ်၌ကြိုးများကိုအက္ခရာစဉ်အတိုင်းနှိုင်းယှဉ်နိုင်သည်။ သဘာဝ sorting သည်အရေအတွက်၏အရွယ်အစားကိုထည့်သွင်းစဉ်းစားသည်။
int strnatcasecmp ( string $str1 , string $str2 )
<?php
$str1 = "item20";
$str2 = "item9";
if (strnatcasecmp($str1, $str2) == 0) {
echo "The strings are equal.";
} else {
echo "The strings are not equal.";
}
?>
The strings are not equal.
အက္ခရာများနှင့်နံပါတ်များသည်ရိုးရှင်းသည်ဟုထင်ရသော်လည်း Strnatcasecmp သည် သဘာဝအတတ်ကိုခံနေရသောကြောင့်နံပါတ် 9 သည် 20 ထက်ငယ်သည်။
အက္ခရာစဉ် vs သဘာဝအမှာ စာ - Strcasecmp သည် strcasecmp ကို strcasecmp ကိုနှိုင်းယှဉ်ရန်အသုံးပြုသည်။ သဘာဝအမိန့်သည် strnatcasecmp ကို strnatcasecmp နှင့်အညီနံပါတ်များပါ 0 င်သည့်ကြိုးများပါ 0 င်သည့်နေရာများတွင်ပါ 0 င်သည်။
နံပါတ်ပြုပြင်ခြင်း - strnatcasecmp သည် နံပါတ်များ၏အရွယ်အစားနှင့်အညီနံပါတ်များပါ 0 င်သောကြိုးများကိုစီရန်။ ဥပမာအားဖြင့် "item10" သည် "item2" ထက် သေးငယ်လိမ့်မည် ။ Strcasecmp က ဒီလိုလုပ်မှာမဟုတ်ဘူး,
ရွေးချယ်ရန်မည်သည့်လုပ်ဆောင်ချက်သည်သင်၏အမှန်တကယ်လိုအပ်ချက်များပေါ်တွင်မူတည်သည်။ အကယ်. သင်သည်ကြိုးများ၏အက္ခရာစဉ်အတိုင်းနှိုင်းယှဉ်ခြင်းနှင့်နံပါတ်များအမျိုးအစားများကိုဂရုမစိုက်ပါက stricasecmp သည်လုံလောက်ပြီးအသုံးပြုရန်လွယ်ကူသည်။
သို့သော်သင်၏ string တွင်နံပါတ်များပါ 0 င်ပါက string ကိုလူသားများအတွက်သဘာဝနည်းဖြင့်ခွဲခြားထားလိုပါက (i.e. နံပါတ်များကို၎င်းတို့၏ကိန်းဂဏန်းအရွယ်အစားနှင့်နှိုင်းယှဉ်ထားသည်) ထို့နောက် strnatcasecmp သည်သင်၏လိုအပ်ချက်များအတွက်ပိုမိုသင့်တော်သည်။ ဥပမာဗားရှင်းကိန်းဂဏန်းများ, ထုတ်ကုန်နံပါတ်များစသဖြင့်ကိုင်တွယ်သောအခါ strnatcasecmp သည် သင်၏မျှော်လင့်ချက်များနှင့်ပိုမိုနီးကပ်လာလိမ့်မည်။
1.10 နှင့် 1.2 ကို သင် stricasecmp ကို သုံးရန်လိုအပ်ပါကသင် stricasecmp ကိုသုံးပါ က , အကယ်. သင်သည် strnatcasecmp ကို အသုံးပြုပါကမှန်ကန်သောအမျိုးအစားကိုသင်ရလိမ့်မည်။
<?php
$version1 = "1.10";
$version2 = "1.2";
if (strnatcasecmp($version1, $version2) < 0) {
echo "$version1 is older than $version2";
} else {
echo "$version1 is newer than $version2";
}
?>
1.10 is newer than 1.2
strcasecmp : string နှိုင်းယှဉ်မှုများအတွက်သင့်တော်သောနှိုင်းယှဉ်မှုများအတွက်အမှုအားမစဉ်းစားရန်မလိုအပ်ပါ။
strnatcasecmp : သဘာဝအစဉ်လိုက်နှိုင်းယှဉ်မှုများလိုအပ်သောအခြေအနေများအတွက်သင့်တော်သော, အထူးသဖြင့်နံပါတ်များပါ 0 င်သည်။
မည်သည့်လုပ်ဆောင်ချက်သည်သင်၏လျှောက်လွှာဇာတ်လမ်းနှင့်လိုအပ်ချက်များအပေါ်တွင်မူတည်သည်။ သင်၏ string တွင်နံပါတ်များပါ 0 င်ပါကနံပါတ်အရွယ်အစားဖြင့် sort လုပ်လိုပါက Strnatcasecmp သည်ပိုမိုသင့်လျော်သောရွေးချယ်မှုဖြစ်သည်။ အကယ်. ၎င်းသည်ရိုးရှင်းသောစာနှင့်နှိုင်းယှဉ်လျှင် strnatcasecmp သည် ပိုမိုလွယ်ကူပြီးပိုမိုထိရောက်လိမ့်မည်။