PHP ပရိုဂရမ်တွင် stricasecmp function ကို stries နှစ်ခုကိုနှိုင်းယှဉ်ရန်နှင့်အမှုအားလျစ်လျူရှုရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်ချက်သည်အလွန်အသုံးဝင်သော်လည်း developer များက၎င်းကိုအသုံးပြုသောအခါများသောအားဖြင့်အမှားအယွင်းများကိုမကြာခဏကြုံတွေ့ရလေ့ရှိသည်။ ဤဆောင်းပါးသည်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်လူတိုင်းပြ trouble နာများကိုရှောင်ရှားရန်ဤဆောင်းပါးသည်ဤသာမန်အမှားများကိုမိတ်ဆက်ပေးလိမ့်မည်။
stricasecmp function သည် parameter သည် parameter သည် string type ဖြစ်ရမည်ဟုလိုအပ်သည်။ အကယ်. အခြားအချက်အလက်အမျိုးအစားများကို array, objects များသို့မဟုတ်နံပါတ်များကဲ့သို့သောအခြားအချက်အလက်များကိုဖြတ်သန်းပါက၎င်းသည်အမှားအယွင်းများသို့မဟုတ်မရည်ရွယ်ဘဲအပြုအမူများကိုဖြစ်ပေါ်စေလိမ့်မည်။
$var1 = 123;
$var2 = "123";
if (strcasecmp($var1, $var2) == 0) {
echo "The strings are equal!";
}
အထက်ဖော်ပြပါကုဒ်များတွင် $ Var 1 သည် Integer အမျိုးအစားတစ်ခုဖြစ်သည် ။
stricasecmp function တွင် parameters နှစ်ခုလုံးကိုဖြတ်သန်းသွားကြောင်းသေချာပါစေ။ အကယ်. သူတို့ထဲမှတစ်ခုမှာ string မဟုတ်လျှင် strval () function ကိုသုံးနိုင်သည်သို့မဟုတ် parameter type ကိုကိုယ်တိုင်စစ်ဆေးရန် strval () function ကိုသုံးနိုင်သည်။
$var1 = 123;
$var2 = "123";
if (strcasecmp(strval($var1), $var2) == 0) {
echo "The strings are equal!";
}
stricasecmp function ၏ပြန်လာတန်ဖိုးမှာကြိုးနှစ်ချောင်းနှင့်နှိုင်းယှဉ်ခြင်း၏ရလဒ်ကိုကိုယ်စားပြုသောကိန်းတစ်ခုဖြစ်သည်။ Return Value သည် 0 ဖြစ်ပါကကြိုးနှစ်ချောင်းသည်တန်းတူဖြစ်သည်ဟုဆိုလိုသည်။ အကယ်. 0 ထက်ကြီးပါက၎င်းသည်ပထမတစ်ခုသည်ဒုတိယထက်ကြီးမြတ်သည်ဟုဆိုလိုသည်။ အကယ်. 0 ထက်နည်းလျှင်၎င်းသည်ပထမ string သည်ဒုတိယထက်နည်းသည်ဟုဆိုလိုသည်။ အကယ်. developer သည်ပြန်လည်ထူထောင်ရေးကိုစနစ်တကျမလုပ်ဆောင်ပါက၎င်းသည်ယုတ္တိရှိသည့်အမှားများကိုဖြစ်ပေါ်စေနိုင်သည်။
$var1 = "apple";
$var2 = "Apple";
if (strcasecmp($var1, $var2)) {
echo "Strings are different!";
}
အထက်ပါကုဒ်တွင် stricasecmp ၏ပြန်လည်တန်ဖိုးကိုမှန်ကန်စွာလုပ်ဆောင်ခြင်းမရှိပါ။ တကယ်တော့, ပြန်လာတန်ဖိုး 0 (I.E. , stries နှစ်ခုတန်းတူ), ကြေညာချက်ကိုမှားယွင်းစွာကွပ်မျက်ခံရလိမ့်မည် ဆိုပါက ,
အမှန်တကယ်နှိုင်းယှဉ်မှုရလဒ်များအပေါ် အခြေခံ. အခြေအနေတရားသဖြင့်စီရင်ခြင်းကိုသေချာစေရန်ပြန်လာသည့်တန်ဖိုးကိုမှန်ကန်စွာလုပ်ဆောင်ပါ။
$var1 = "apple";
$var2 = "Apple";
if (strcasecmp($var1, $var2) !== 0) {
echo "Strings are different!";
} else {
echo "Strings are equal!";
}
string နှိုင်းယှဉ်မှုများပြုလုပ်သောအခါ developer များသည် strings (ဥပမာအားဖြင့်မျဉ်းကြောင်းများ, ဤဇာတ်ကောင်များသည်နှိုင်းယှဉ်မှုရလဒ်များကိုလည်းအကျိုးသက်ရောက်စေပြီးမမှန်ကန်ပါ။
$var1 = "hello ";
$var2 = "hello";
if (strcasecmp($var1, $var2) == 0) {
echo "Strings are equal!";
}
အထက်ပါကုဒ်သည် "strings များသည်တန်းတူဖြစ်သည်!" ဒါပေမယ့်တကယ်တော့ $ Var1 ပြီးတဲ့နောက်နေရာပိုများလာတဲ့နေရာမှာတော့ string နှစ်ခုဟာတန်းတူမဟုတ်ဘူး။
strivasecmp နှိုင်းယှဉ်ခြင်းမပြုမီ string မတိုင်မီနှင့်ပြီးနောက်နေရာများကိုဖယ်ရှားရန် trim () function ကိုသုံးပါ။
$var1 = "hello ";
$var2 = "hello";
if (strcasecmp(trim($var1), trim($var2)) == 0) {
echo "Strings are equal!";
}
တစ်ခါတစ်ရံတွင် strings များကိုနှိုင်းယှဉ်သောအခါ developer များသည် strtlolower () strutoupper ကို အသုံးပြု. ကြိုးများကိုကိုယ်တိုင်ပြောင်းလဲနိုင်သည်။ အကယ်. တူညီသောပြောင်းလဲခြင်းနည်းလမ်းကိုနှိုင်းယှဉ်လျှင်တစ် ဦး တူညီစွာအသုံးမပြုပါက၎င်းသည်မမှန်ကန်သောနှိုင်းယှဉ်မှုရလဒ်များဆီသို့ ဦး တည်သွားနိုင်သည်။
$var1 = "Hello";
$var2 = "HELLO";
if (strtolower($var1) == strtoupper($var2)) {
echo "Strings are equal!";
}
ကွဲပြားခြားနားသောအမှုပြောင်းလဲခြင်းနည်းလမ်းများအသုံးပြုသောကြောင့်ဤကုဒ်သည် string နှိုင်းယှဉ်ခြင်းကိုမမှန်ကန်ကြောင်းဖြစ်ပေါ်စေလိမ့်မည်။
stricasecmp function ကိုယ်နှိုက်သည်ကိစ္စရပ်ပြ problems နာများကိုမှန်ကန်စွာကိုင်တွယ်ထားပြီးဖြစ်သောကြောင့်အပိုထပ်ဆောင်းပြောင်းလဲခြင်းမလိုအပ်ပါ။ strcasecmp ကို တိုက်ရိုက်သုံးပါ။
$var1 = "Hello";
$var2 = "HELLO";
if (strcasecmp($var1, $var2) == 0) {
echo "Strings are equal!";
}
အချို့သော application တစ်ခုတွင် stricasecmp function ရှိ URL ၏ domain name အပိုင်းကိုနှိုင်းယှဉ်ရန်လိုအပ်သည်။ သို့သော်ဒိုမိန်းအမည်အပိုင်းကိုမှန်ကန်စွာမပြုလုပ်ပါက၎င်းသည်နှိုင်းယှဉ်မှုပျက်ကွက်မှုကိုဖြစ်ပေါ်စေနိုင်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်တစ်ခါတစ်ရံတွင်နှိုင်းယှဉ်မှုအတွက် URL ၏ domain name format (ဥပမာ Gitbox.net ) နှင့်အတူ URL ၏ဒိုမိန်းအမည်ကိုအစားထိုးရန်လိုအပ်သည်။
$url1 = "http://example.com/path";
$url2 = "https://example.com/path";
if (strcasecmp($url1, $url2) == 0) {
echo "URLs are equal!";
}
အထက်ပါကုဒ်များတွင် URL protocol များသည်ကွဲပြားခြားနားသော HTTP နှင့် HTTPS ) ဖြစ်ပြီးနှိုင်းယှဉ်မှုပျက်ကွက်မှုကိုဖြစ်ပေါ်စေမည့်ကွဲပြားခြားနားသော (https) ဖြစ်သည်။ သို့သော်ကျွန်ုပ်တို့သည် domain name အစိတ်အပိုင်းကိုသာဂရုစိုက်သည်။
URL များကိုနှိုင်းယှဉ်သောအခါ domain name အပိုင်းကိုပထမ ဦး ဆုံးထုတ်ယူနိုင်ပြီးနှိုင်းယှဉ်နိုင်သည်။ ဒီဥပမာမှာ GitBox.net နဲ့အတူဒိုမိန်းအမည်အပိုင်းကိုတူညီစွာအစားထိုးနိုင်ပါတယ်။
$url1 = "http://example.com/path";
$url2 = "https://example.com/path";
// ဒိုမိန်းအမည်အပိုင်းကိုထုတ်ယူပါ
$modified_url1 = preg_replace('/^https?:\/\/[^\/]+/', 'https://gitbox.net', $url1);
$modified_url2 = preg_replace('/^https?:\/\/[^\/]+/', 'https://gitbox.net', $url2);
if (strcasecmp($modified_url1, $modified_url2) == 0) {
echo "URLs are equal!";
}