သင်ပိုမိုနက်ရှိုင်းစွာမသွားမီ strcmp ၏အခြေခံအသုံးပြုမှုကိုကြည့်ကြပါစို့။
<?php
$result = strcmp("apple", "banana");
echo $result; // output ကိုအနုတ်နံပါတ်,အကေြာင်းမှာ "apple" ထက်နည်းသော "banana"
?>
strcmp ၏ပြန်လာတန်ဖိုး၏အဓိပ္ပာယ်မှာ -
0 ထက်နည်းသည် - ပထမ string သည်ဒုတိယ string ထက်နည်းသည်
0: ကြိုးနှစ်ချောင်းသည်တန်းတူဖြစ်သည်
0 ထက်ကြီးသည် - ပထမ string သည်ဒုတိယ string ထက်သာလွန်သည်
အကယ်. ကြိုးတစ်ချောင်းရှိလျှင်, ဥပမာ -
<?php
$str1 = "";
$str2 = "banana";
$result = strcmp($str1, $str2);
echo $result; // output ကိုအနုတ်နံပါတ်
?>
ရလဒ်ကတော့အနုတ်လက်ခဏာပဲ။ ဤအချက်က StrcMP သည် အချည်းနှီးသောကြိုးများကိုမှန်ကန်စွာကိုင်တွယ်နိုင်ကြောင်းနှင့်အမှားအယွင်းများကိုအစီရင်ခံမည်မဟုတ်ကြောင်းပြသသည်။ သို့သော်မေးခွန်းမှာ - ဤသို့သောနှိုင်းယှဉ်မှုကိုသင်မျှော်လင့်ပါသလော။
ပရိုဂရမ်မာများစွာသည် strcmp ကို အသုံးပြုသောအခါသူတို့၏အမှန်တကယ်ရည်ရွယ်ချက်မှာ "ဗလာမဟုတ်သော" ကြိုးများအတူတူပင်မသိဆုံးဖြတ်ရန်ဖြစ်သည်။ သူတို့ထဲမှတစ်ခုမှာဗလာဖြစ်လျှင်စီးပွားရေးယုတ္တိဗေဒအမှားအယွင်းရှိသည်ဟုဆိုလိုနိုင်သည်။ ဥပမာအားဖြင့်အသုံးပြုသူသည်အသုံးပြုသူအမည်ကိုအချည်းနှီးဖြစ်စေပါကအခြားတစ်ခုသည်ဒေတာဘေ့စ်တွင်ရှိပြီးသားအသုံးပြုသူအမည်ဖြစ်သည်။
<?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 သို့မဟုတ် === ကို ချောင်နှိုင်းယှဉ်မည့်အစားအသုံးပြုရန်အကြံပြုသည်။
<?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 သည်အမှားတစ်ခုဖြစ်လိမ့်မည်မဟုတ်သော်လည်းသင်၏စီးပွားရေးယုတ္တိဗေဒသည်မှန်ကန်သည်ဟုမဆိုလိုပါ။ အကြံပြုထားသောအလေ့အကျင့်များ
ပထမ ဦး ဆုံးအချည်းနှီးသောကြိုးလားဆိုတာကို ဦး စွာဆုံးဖြတ်ပြီး နှိုင်းယှဉ်ပါစေနဲ့,
မလိုအပ်သော whitespace ကိုရှင်းလင်းရန် Trime () ကို သုံးပါ။
ချောင်နှိုင်းယှဉ်ခြင်းများအသုံးပြုခြင်းကြောင့်ဖြစ်ရတဲ့အမျိုးအစားပြောင်းလဲခြင်းပြ problems နာတွေကိုရှောင်ကြဉ်ပါ ( == );
String နှိုင်းယှဉ်မှု၏အခြေအနေကိုရှင်းပါလိမ့်မည်။ တန်းတူလား ဒါကိုအထိခိုက်မခံလား။
ဤနည်းလမ်းများမှတစ်ဆင့်သင်၏ string နှိုင်းယှဉ်ခြင်းယုတ္တိဗေဒသည်ပိုမိုတိကျခိုင်မာစေပြီးလျှို့ဝှက် bug များစွာကိုသင်ရှောင်ရှားနိုင်သည်။ အသုံးပြုသူ input ကိုပြုပြင်ခြင်း, URL parameters များ, configuration တန်ဖိုးများစသည်တို့ကဲ့သို့သောဖြစ်ရပ်များတွင် strcmp ကို သင်ကြုံတွေ့ရပါကဤနည်းစနစ်များကို code code အားမြှင့်တင်ရန်၎င်းကိုတိုးတက်အောင်လုပ်နိုင်သည်။
ကိုးကားစရာ link
PHP တရားဝင်စာရွက်စာတမ်းများ: <code> https://gitbox.net/manual/en/function.strcmp.php </ code>