လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> strcmp function ကိုသုံးသောအခါအချည်းနှီးသောကြိုးများကိုကိုင်တွယ်ဖြေရှင်းနည်း

strcmp function ကိုသုံးသောအခါအချည်းနှီးသောကြိုးများကိုကိုင်တွယ်ဖြေရှင်းနည်း

gitbox 2025-05-29

သင်ပိုမိုနက်ရှိုင်းစွာမသွားမီ strcmp ၏အခြေခံအသုံးပြုမှုကိုကြည့်ကြပါစို့။

 <?php
$result = strcmp("apple", "banana");
echo $result; // output ကိုအနုတ်နံပါတ်,အကေြာင်းမှာ "apple" ထက်နည်းသော "banana"
?>

strcmp ၏ပြန်လာတန်ဖိုး၏အဓိပ္ပာယ်မှာ -

  • 0 ထက်နည်းသည် - ပထမ string သည်ဒုတိယ string ထက်နည်းသည်

  • 0: ကြိုးနှစ်ချောင်းသည်တန်းတူဖြစ်သည်

  • 0 ထက်ကြီးသည် - ပထမ string သည်ဒုတိယ string ထက်သာလွန်သည်

မေးခွန်းပေါ်ပေါက်လာသည်။ string သည်အချည်းနှီးဖြစ်သောအခါဘာဖြစ်မည်နည်း။

အကယ်. ကြိုးတစ်ချောင်းရှိလျှင်, ဥပမာ -

 <?php
$str1 = "";
$str2 = "banana";

$result = strcmp($str1, $str2);
echo $result; // output ကိုအနုတ်နံပါတ်
?>

ရလဒ်ကတော့အနုတ်လက်ခဏာပဲ။ ဤအချက်က StrcMP သည် အချည်းနှီးသောကြိုးများကိုမှန်ကန်စွာကိုင်တွယ်နိုင်ကြောင်းနှင့်အမှားအယွင်းများကိုအစီရင်ခံမည်မဟုတ်ကြောင်းပြသသည်။ သို့သော်မေးခွန်းမှာ - ဤသို့သောနှိုင်းယှဉ်မှုကိုသင်မျှော်လင့်ပါသလော။

ပရိုဂရမ်မာများစွာသည် strcmp ကို အသုံးပြုသောအခါသူတို့၏အမှန်တကယ်ရည်ရွယ်ချက်မှာ "ဗလာမဟုတ်သော" ကြိုးများအတူတူပင်မသိဆုံးဖြတ်ရန်ဖြစ်သည်။ သူတို့ထဲမှတစ်ခုမှာဗလာဖြစ်လျှင်စီးပွားရေးယုတ္တိဗေဒအမှားအယွင်းရှိသည်ဟုဆိုလိုနိုင်သည်။ ဥပမာအားဖြင့်အသုံးပြုသူသည်အသုံးပြုသူအမည်ကိုအချည်းနှီးဖြစ်စေပါကအခြားတစ်ခုသည်ဒေတာဘေ့စ်တွင်ရှိပြီးသားအသုံးပြုသူအမည်ဖြစ်သည်။

ကိုင်တွယ်ရန်မှန်ကန်သောနည်းလမ်း - string ကိုဗလာရှိမရှိပထမ ဦး ဆုံးဆုံးဖြတ်ရန်

 <?php
if ($str1 === "" || $str2 === "") {
    echo "အနည်းဆုံး string တစ်ခုအချည်းနှီးဖြစ်ပါတယ်,နှိုင်းယှဉ်လို့မရဘူး。";
} else {
    if (strcmp($str1, $str2) === 0) {
        echo "နှစ်ခု strings အတူတူပင်ဖြစ်ကြသည်";
    } else {
        echo "နှစ်ခု strings ကွဲပြားခြားနားဖြစ်ကြသည်";
    }
}
?>

ဤနည်းအားဖြင့်ယုတ္တိအမှားများကိုသင်ရှောင်ရှားနိုင်သည်။ StrcMP ကိုယ်တိုင်ကအချည်းနှီးသောကြိုးများကိုကိုင်တွယ်နိုင်သော်လည်း၎င်းသည်စီးပွားရေးလုပ်ငန်းရှုထောင့်မှ အချည်းနှီးသော strings ဟုတ်မဟုတ်ဆုံးဖြတ်ခြင်းကို ဦး စွာဆုံးဖြတ်ရန် ပိုမိုလုံခြုံလိမ့်မည်။

အခြားဘုံနားလည်မှုလွဲခြင်း - တိုက်ရိုက်နှိုင်းယှဉ်ရန် == ကို သုံးပါ

 <?php
if ($str1 == $str2) {
    echo "တူညီသော";
}
?>

ဒီအရေးအသားကပိုရိုးရှင်းပေမယ့်အချို့ကိစ္စများတွင်ပြောင်းလဲခြင်းပြ problems နာများကိုအမျိုးအစားများဖြစ်စေနိုင်သည်။

 <?php
$str1 = 0;
$str2 = "a";

if ($str1 == $str2) {
    echo "တူညီသော"; // ထုတ်လုပ်ခြင်း,အကေြာင်းမှာ "a" ကူးပြောင်းလိမ့်မည် 0
}
?>

ထို့ကြောင့်, strcmp သို့မဟုတ် === ကို ချောင်နှိုင်းယှဉ်မည့်အစားအသုံးပြုရန်အကြံပြုသည်။

ဥပမာ - အသုံးပြုသူ input ကိုစိစစ်အတည်ပြုမြင်ကွင်း

 <?php
function isValidUsername($input) {
    $reserved = "admin";
    
    if (trim($input) === "") {
        return "အသုံးပြုသူအမည်ဗလာမဖြစ်နိုင်ပါ";
    }

    if (strcmp($input, $reserved) === 0) {
        return "အသုံးပြုသူအမည်ကိုကြိုတင်ကာကွယ်ထားလို့မရပါ";
    }

    return "သက်တမ်းရှိ Username";
}

echo isValidUsername("");        // အသုံးပြုသူအမည်ဗလာမဖြစ်နိုင်ပါ
echo isValidUsername("admin");   // အသုံးပြုသူအမည်ကိုကြိုတင်ကာကွယ်ထားလို့မရပါ
echo isValidUsername("guest");   // သက်တမ်းရှိ Username
?>

ဒီဥပမာကဆုံးဖြတ်ချက်ချဖို့ strcmp နဲ့အချည်းနှီးသောတရားစီရင်ခြင်းကိုဘယ်လိုပေါင်းစပ်ရမလဲဆိုတာပြတယ်။

အကျဉ်းချုပ်

StrcMP ကိုအသုံးပြုပြီးကြိုးများကိုအသုံးပြုပြီးအချည်းနှီးသော string တစ်ခုရှိပါက function သည်အမှားတစ်ခုဖြစ်လိမ့်မည်မဟုတ်သော်လည်းသင်၏စီးပွားရေးယုတ္တိဗေဒသည်မှန်ကန်သည်ဟုမဆိုလိုပါ။ အကြံပြုထားသောအလေ့အကျင့်များ

  1. ပထမ ဦး ဆုံးအချည်းနှီးသောကြိုးလားဆိုတာကို ဦး စွာဆုံးဖြတ်ပြီး နှိုင်းယှဉ်ပါစေနဲ့,

  2. မလိုအပ်သော whitespace ကိုရှင်းလင်းရန် Trime () ကို သုံးပါ။

  3. ချောင်နှိုင်းယှဉ်ခြင်းများအသုံးပြုခြင်းကြောင့်ဖြစ်ရတဲ့အမျိုးအစားပြောင်းလဲခြင်းပြ problems နာတွေကိုရှောင်ကြဉ်ပါ ( == );

  4. String နှိုင်းယှဉ်မှု၏အခြေအနေကိုရှင်းပါလိမ့်မည်။ တန်းတူလား ဒါကိုအထိခိုက်မခံလား။

ဤနည်းလမ်းများမှတစ်ဆင့်သင်၏ string နှိုင်းယှဉ်ခြင်းယုတ္တိဗေဒသည်ပိုမိုတိကျခိုင်မာစေပြီးလျှို့ဝှက် bug များစွာကိုသင်ရှောင်ရှားနိုင်သည်။ အသုံးပြုသူ input ကိုပြုပြင်ခြင်း, URL parameters များ, configuration တန်ဖိုးများစသည်တို့ကဲ့သို့သောဖြစ်ရပ်များတွင် strcmp ကို သင်ကြုံတွေ့ရပါကဤနည်းစနစ်များကို code code အားမြှင့်တင်ရန်၎င်းကိုတိုးတက်အောင်လုပ်နိုင်သည်။

ကိုးကားစရာ link