လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Stropos ကိုဘယ်လိုနားလည်ရမလဲ။ Stropos Boolean တန်ဖိုးများ၏အသုံးပြုမှုထောင်ချောက်များ၏ in---depth ခွဲခြမ်းစိတ်ဖြာသုံးသပ်ခြင်း

Stropos ကိုဘယ်လိုနားလည်ရမလဲ။ Stropos Boolean တန်ဖိုးများ၏အသုံးပြုမှုထောင်ချောက်များ၏ in---depth ခွဲခြမ်းစိတ်ဖြာသုံးသပ်ခြင်း

M66 2025-07-26

PHP တွင် string သည်အခြား string တစ်ခုတွင် string တစ်ခုတွင်ပထမဆုံးပေါ်လာသည့်နေရာတွင်ရှာဖွေရန် strust function ကိုအသုံးပြုသည်။ သတ်မှတ်ထားသော string တွင်သတ်မှတ်ထားသောအလွှာမရှိပါက string string တွင် string ကို ပြန်ပို့သည်။ သို့သော် မှားယွင်းသော PHP တွင်မှားယွင်းသောတန်ဖိုးကို "မှားယွင်းသောတန်ဖိုး" ဟု ယူဆသောကြောင့်၎င်းသည်ပြန်လည်ထူထောင်ရေးတန်ဖိုးများကိုကိုင်တွယ်ဖြေရှင်းသည့်အခါအချို့သောပရိုဂရမ်မာများအကြားရှုပ်ထွေးစေနိုင်သည်။ ဤဆောင်းပါးသည် Stropos မှ မှားယွင်းသော , ထောင်ချောက်များနှင့်ဤအခြေအနေများကိုထိရောက်စွာမည်သို့ကိုင်တွယ်ရမည်ကိုဤဆောင်းပါးသည်စေ့စေ့စပ်စပ်လေ့လာလိမ့်မည်

1 ။ Stropos function ကို၏အခြေခံအသုံးပြုမှု

strpos function ၏ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -

 <span><span><span class="hljs-title function_ invoke__">strpos</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$needle</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$offset</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>): </span><span><span class="hljs-keyword">int</span></span><span>|</span><span><span class="hljs-literal">false</span></span><span>
</span></span>
  • $ haystack : ရှာဖွေရန် string ကို။

  • $ အပ် - တွေ့ရှိရမည့်အလွှာ။

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

$ haystack တွင် $ အပ်သည်ဒေါ်လာကို haystack တွင်ရှိလျှင် stropos သည် $ အပ် ပထမ ဦး ဆုံးပေါ်လာသည့်နေရာကိုပြန်ပို့လိမ့်မည် (အညွှန်းကိန်းသည် 0 တွင်စတင်သည်) $ အပ်ကို ရှာမတွေ့ပါက မှားယွင်းသော ပြန်လာသည်။

2 ။ strpos မှားယွင်းသော အခါအဖြစ်များသောနားလည်မှုလွဲမှားခြင်း

PHP တွင်မှားယွင်းသောအ ယူ မှား ကို "မှားယွင်းသောတန်ဖိုး" ဟု ယူ မှတ် သည်။ အဆိုပါပြ problem နာက strpos မှားယွင်းသော သို့မဟုတ် 0 ပြန်လာစေခြင်းငှါဖြစ်ပါတယ်။ 0 0 သည် PHP တွင်မှားယွင်းသောတန်ဖိုးတစ်ခုဖြစ်ပြီး၎င်းသည်ပရိုဂရမ်မာများအားရှုပ်ထွေးမှုများကိုနှိုင်းယှဉ်လျှင်ရှုပ်ထွေးစေသည်။

ဥပမာအားဖြင့်, အောက်ပါကုဒ်သည်အမှားတစ်ခုဖြစ်ပေါ်စေနိုင်သည်။

 <span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"Hello, world!"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"Hello"</span></span><span>;

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">strpos</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Found!"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Not found!"</span></span><span>;
}
</span></span>

$ haystack တွင် $ အပ် ၏စတင်သည့်နေရာတွင် 0 သည် 0 (၎င်းသည် string ၏အစဖြစ်သည်) ဟု ဆိုလျှင် 0 0 ပြန်လာပြီ ဆိုပါက 0 င်သည်

3 ။ strpos ၏ပြန်လာတန်ဖိုးကိုမှန်ကန်စွာဆုံးဖြတ်ရန်

ဤပြ problem နာကိုရှောင်ရှားရန်တင်းကျပ်သောနှိုင်းယှဉ်ခြင်းအော်ပရေတာ ( === ) ကိုအသုံးပြုသင့်သည်။ ဘာလို့လဲဆိုတော့ === နှိုင်းယှဉ်ချက်သည်တန်ဖိုးသာမကအမျိုးအစားသာမက ဤကိစ္စတွင်ပြန်လာတန်ဖိုးသည် မှားယွင်းသော တန်ဖိုးနှင့်တူညီသည်မှသာအလွှာကိုမတွေ့ရှိပါ။

 <span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"Hello, world!"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"Hello"</span></span><span>;

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">strpos</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>) !== </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Found!"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Not found!"</span></span><span>;
}
</span></span>

ဤချဉ်းကပ်မှုသည် 0 မှားယွင်းမှု အတွက်မှားယွင်းသောအခြေအနေကိုရှောင်ရှားသည်။ Code သည် $ အပ်၏ တည်နေရာသည် string ၏အစ (I.E. အညွှန်းကိန်းသည် 0 င် သည်) သို့မဟုတ်အလယ်တွင်ရှိသည်ဖြစ်စေ Code သည်မှန်ကန်စွာကိုင်တွယ်နိုင်သည်။

4 ။ strpos မှားယွင်းသော ပြန်လာသောအခြေအနေ

မှားယွင်းသော ပြန်လာသည့်အခြေအနေများစွာရှိသည်

  • အဆိုပါအလွှာမတည်ရှိပါ ။ အသုံးအများဆုံးဖြစ်ရပ်မှာ ဒေါ်လာအလွှာအလွှာအလွှာသည် Target String $ Haystack တွင်လုံးဝမပေါ်ပါ။

  • မမှန်ကန်သောအမျိုးအစားထည့်သွင်းမှု - အဝင် parameter type သည်မမှန်ကန်ပါက strotpos သည် မှားယွင်းစွာ ပြန်ပို့နိုင်သည် (ဥပမာ - $ haystack သည် string မဟုတ်ပါ) ။

  • Offset သည်အလွန်ကြီးမားသည် ။ အကယ် . offset တစ်ခုသတ်မှတ်ထားပါကကျန်ရှိနေသေးသောကြိုးများ၌ ဒေါ်လာအပ် ကိုမတွေ့ရှိနိုင်ပါ

5 ။ strpos ကို အသုံးပြုတဲ့အခါအကောင်းဆုံးအလေ့အကျင့်

နားလည်မှုလွဲမှားခြင်းများ၌ကပ်နေခြင်းကိုရှောင်ရှားရန် Stropos အသုံးပြုရန်အတွက်အကောင်းဆုံးသောအလေ့အကျင့်များဖြစ်သည်။

  • တင်းကျပ် သော နှိုင်းယှဉ်ချက်ကိုအမြဲတမ်းသုံးပါ ( === ) ကိုသုံးပါ အစောပိုင်းတွင်ဖော်ပြခဲ့သည့်အတိုင်း ,

  • Check Parameter အမျိုးအစား - $ haystack နှင့် $ အပ်သည် string type နှစ်မျိုးလုံးဖြစ်ကြောင်းသေချာပါစေ။ အကယ်. သင်မသေချာပါကစစ်ဆေးရန် is_string () function ကိုသုံးနိုင်သည်။

  • Offsets ကိုနားလည်ခြင်း - offsets ကိုအသုံးပြုသောအခါ Offsets ၏အကျိုးသက်ရောက်မှုကိုသင်ရှင်းလင်းပြီးကြီးမားသောတန်ဖိုးများကိုရှောင်ကြဉ်ရမည်။

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

Stropos function ၏ return value သည် 0 င် သို့မဟုတ် မှားယွင်းသော ကြောင့် 0 င်ရောက်ခြင်းဖြစ်နိုင်သည်။ 0 င် အနေဖြင့် မှားယွင်းသော , တင်းကျပ်သောအမျိုးအစားနှိုင်းယှဉ်ချက် ( ! == fiss ) ကိုရှောင်ရှားနိုင်ရန်အတွက်ပရိုဂရမ်အမှားများကိုရှောင်ရှားနိုင်ရန်အတွက်အလွှာတစ်ခုကိုရှာဖွေတွေ့ရှိခြင်းရှိမရှိဆုံးဖြတ်ရန်အမြဲတမ်းအသုံးပြုရမည်။ Stropos မည်သို့အလုပ်လုပ်သည်ကိုနားလည်ခြင်းနှင့်၎င်း၏ပြန်လာတန်ဖိုးများကိုမှန်ကန်စွာကိုင်တွယ်ဖြေရှင်းနည်းကိုနားလည်နိုင်သည်။