လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> stropos function ကိုနှင့် strpos function အကြားခြားနားချက်

stropos function ကိုနှင့် strpos function အကြားခြားနားချက်

gitbox 2025-05-31

PHP ၏ string processing function များအကြား string နှင့် stropos များသည် မကြာခဏအသုံးပြုသောလုပ်ဆောင်ချက်နှစ်ခုဖြစ်သည်။ သူတို့ကနီးပါးအတူတူပဲ, တစ် ဦး တည်းသာဆိတ်ကွယ်ရာဆိတ်ကွယ်ရာကြည့်ရှုပေမယ့်တကယ်တော့အဓိကခြားနားချက်ရှိပါတယ်။ ဤဆောင်းပါးသည်သင်အသုံးပြုမှု, ကွဲပြားခြားနားမှုများ, ကြိုတင်ကာကွယ်မှုများစသဖြင့်ဤလုပ်ဆောင်မှုနှစ်ခုအကြားတူညီချက်များနှင့်ကွဲပြားခြားနားမှုများကိုစေ့စေ့စပ်စပ်နားလည်ရန်သင့်အားယူပါလိမ့်မည်။

1 ။ အခြေခံအသုံးပြုမှု

Stropos နှင့် Strpos တို့သည် ပထမ string တစ်ခုတွင်ပထမ ဦး ဆုံးပေါ်လာသည့်နေရာကိုရှာဖွေရန်နှစ် ဦး စလုံးရှိသည်။ သူတို့ရဲ့အခြေခံ Syntax ကအောက်ပါအတိုင်းဖြစ်သည် -

 strpos(string $haystack, mixed $needle, int $offset = 0): int|false
stripos(string $haystack, mixed $needle, int $offset = 0): int|false
  • $ haystack သည်ရှာဖွေရန်ပစ်မှတ် string ကိုဖြစ်သည်။

  • $ အပ် သည်ရှာဖွေရန်အလွှာဖြစ်သည်။

  • $ offset သည် optional ကိုရှာဖွေခြင်းကိုမည်သည့်နေရာတွင်စတင်မည်နည်း။

2 ။ အဓိကခြားနားချက် - စာလုံးအကြီးအသေးအရေးကြီးသည်

ဤသည်နှစ်ခုအကြားအကြီးမားဆုံးခြားနားချက်ဖြစ်ပါတယ်:

  • Stropos သည် စာလုံးအကြီးအသေးအရေးပါသည်

  • Stripos သည် ကိစ္စတွင် - အာရုံမခံစားနိုင်ပါ

ဥပမာ -

 <?php
$str = "Hello World";

var_dump(strpos($str, "world"));  // ထုတ်လုပ်ခြင်း:bool(false)
var_dump(stripos($str, "world")); // ထုတ်လုပ်ခြင်း:int(6)
?>

ဤဥပမာတွင် strowos သည် မှားယွင်းသော ကြောင့်မှားယွင်းသောအရာဖြင့်ပြန်လှ ည့ ်သွားသည်။

3 ။ တန်ဖိုးကိုပြန်ပို့သည့်အခါသတိထားပါ

လုပ်ဆောင်ချက်နှစ်ခုစလုံးသည် ကိန်းဂဏန်းများ (ပွဲစဉ်နေရာများ) သို့မဟုတ် မှားယွင်းသော (မတွေ့ပါ) ။ ကိုက်ညီသည့်အနေအထား 0 (ဆိုလိုသည်မှာအစတွင်အလွှာသည်အစတွင်ဖြစ်သည်) ကိုအသုံးပြုပြီး ကိုက်ညီမှုမအောင်မြင်ပါ။

မှားယွင်းသောအရေးအသားနည်းလမ်း:

 if (strpos("abc", "a") == false) {
    echo "မတွေ့ပါ";
}

output ကို "မတွေ့ပါ" ဖြစ်လိမ့်မည် - သို့သော်၎င်းကိုအမှန်တကယ်တွေ့ရှိရသည်။

မှန်ကန်သောအရေးအသား:

 if (strpos("abc", "a") === false) {
    echo "မတွေ့ပါ";
}

အမြဲတမ်း congruent === ကို 0 င် 0 င် 0 င်လွဲမှားခြင်းကိုရှောင်ရှားရန် မှားယွင်း နေသည်ကိုဆုံးဖြတ်ရန်။

4 ။ ဘုံ application တစ်ခု

  • Stropos - အထိခိုက်မခံတဲ့စကားလုံးရှာဖွေတွေ့ရှိခြင်း,

  • Strips - သင်ရှာဖွေမှုကိုပိုမိုဖြေလျော့ပေးခြင်းကိုပိုမိုဖြေလျှော့လိုသည်,

ဥပမာ - link တစ်ခုမှာသီးခြားသော့ချက်စာလုံးပါမလားဆိုတာဆုံးဖြတ်ပါ

 <?php
$url = "https://gitbox.net/shop/product/123";

if (stripos($url, "/shop/") !== false) {
    echo "ဒါကထုတ်ကုန်စာမျက်နှာတစ်ခုပါ";
}
?>

ဤဥပမာတွင် URL တွင်ပါ 0 င သည် , စျေးဝယ်ခြင်း / သော့ချက်စာလုံးများပါ 0 င်သည်ဖြစ်စေ,

V. စွမ်းဆောင်ရည်ကွဲပြားခြားနားမှု

အသုံးအများဆုံးအသုံးပြုမှုတွင်နှစ်ခုအကြားစွမ်းဆောင်ရည်ကွာဟချက်မှာအရေးမကြီးပါ။ အကယ်. သင်သည်ကြီးမားသောကွင်းဆက်တစ်ခုတွင်မကြာခဏခေါ်။ ကြိုးအရေအတွက်အထူးသဖြင့်ကြီးမားသည်ဆိုပါကအမှုပြောင်းလဲခြင်းလုပ်ငန်းစဉ်မရှိသောကြောင့် Stropos သည် အနည်းငယ်ပိုမိုမြန်ဆန်လိမ့်မည်။

6 ။ သိကောင်းစရာများနှင့်ကြိုတင်ကာကွယ်မှုများ

  1. စည်းလုံးညီညွတ်ရေးတရားစီရင်ပိုင်ခွင့်ပြုရန် strpos နှင့် strpos ၏ပြန်လာတန်ဖိုးများကိုမရောထွေးပါနှင့်,

  2. အကယ်. သင်၏ရှာဖွေရေးယုတ္တိဗေဒသည်အသုံးပြုသူ input ပေါ်တွင်မူတည်ပါက strips များကို တတ်နိုင်သမျှအမြန်ဆုံးအသုံးပြုရန်ကြိုးစားပါ။

  3. အသုံးပြုမှု === false match ပျက်ကွက်ခြင်းရှိမရှိဆုံးဖြတ်ရန်အတွက်ဆုံးဖြတ်ရန်, ဒီလိုမှမဟုတ်ရင်အနေအထား 0 ကအလွယ်တကူလမ်းလွဲသွားလိမ့်မည်။

7 ။ အကျဉ်းချုပ်

function name ကစာလုံးအကြီးအသေးရှိမရှိ Value အမျိုးအစားကိုပြန်သွားပါ ကြည့်ရှုပါ
လမ်းစောင်း ဟုတ်ကဲ့ Int သို့မဟုတ်မှားယွင်းသော တိကျစွာကိုက်ညီတဲ့မြင်ကွင်းများ, တင်းကြပ်စွာဖြစ်ရပ်မှန် - အထိခိုက်မခံ
မြဲမြံ မဟုတ် Int သို့မဟုတ်မှားယွင်းသော ထိထိရောက်ရောက်ကြည့်ရှုရန်အခြေအနေများ,

Stropos နှင့် Strpos သည်စာလုံးအသေးတစ်ခုသာဖြစ်သော်လည်းနောက်ကွယ်ရှိယုတ္တိဗေဒသည်သင်လိုချင်သောရလဒ်ကိုရှာဖွေနိုင်မနိုင်သလားဆိုသည်ကိုဆုံးဖြတ်သည် အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်သူတို့ကိုရွေးချယ်ခြင်းသည်သင့်အားကျိုးကြောင်းဆီလျော်စွာရွေးချယ်ခြင်းသည်အမှားအယွင်းများစွာကိုရှောင်ရှားနိုင်သည်။ ဒီဆောင်းပါးကသူတို့အကြားခြားနားချက်ကိုတကယ်နားလည်အောင်နားလည်နိုင်ပေးနိုင်ပါတယ်။ နောက်တစ်ကြိမ်တွင်ကုဒ်ရေးရန်တွန့်ဆုတ်မည်မဟုတ်!