PHP, stripspn () နှင့် strstrchn () strstred () တွင်အလွန်လက်တွေ့ကျတဲ့ string protring လုပ်ဆောင်ချက်နှစ်ခုရှိသည်။ Strcspn () ကို ပထမ ဦး ဆုံးဇာတ်ကောင်သတ်မှတ်ချက်ကိုတွက်ချက်ရန်အသုံးပြုသည်။ အစမှကြုံတွေ့ရသောသတ်မှတ်ထားသောဇာတ်ကောင်သတ်မှတ်ချက်နှင့်မကိုက်ညီသော string တစ်ခုနှင့်မကိုက်ညီသော string တစ်ခု၏အနေအထားကိုတွက်ချက်ရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်ချက်နှစ်ခုကိုအချို့သောကိစ္စရပ်များတွင်အတူတကွအသုံးပြုရန်လိုအပ်သော်လည်းပေါင်းစပ်အသုံးပြုသောအခါပြ problems နာအချို့ကိုတွေ့ကြုံရနိုင်သည်။ ဤဆောင်းပါးသည်ဤပြ problems နာများကိုခွဲခြမ်းစိတ်ဖြာပါကဖြေရှင်းနည်းများပေးလိမ့်မည်။
stripspn () :
Strcspn (string $ haystack, string $ charlist): Int
ဤလုပ်ဆောင်ချက်သည် ဒေါ်လာ Haystack တွင်ပထမဆုံးအက္ခရာစဉ်ကိုတွက်ချက်ပြီးအစမှကြုံတွေ့ရသည့် ဒေါ်လာသုတေသတော် နှင့်မကိုက်ညီသောမည်သည့်ဇာတ်ကောင်နှင့်မကိုက်ညီပါ။ မကိုက်ညီတဲ့ဇာတ်ကောင်ကိုရှာမတွေ့ပါက string တစ်ခုလုံး၏အရှည်ကိုပြန်ပို့သည်။
strstred () :
strstred (string $ haystack, string ကို $ အပ်, bool $ _needle = false): string |
ဤလုပ်ဆောင်ချက်သည် ဒေါ်လာယန်း ကြိုးကြိုးတွင်သိုလှောင်ထားသည့် $ အပ် ကြိုးအလွှာသည်ပထမဆုံးအကြိမ်ပေါ်လာသည်။ အကယ်. မှန်ကန် ရန်သတ်မှတ်ထားပါက Parameter သည် $ အပ်ခြင်း မပြု မီတစ်စိတ်တစ်ပိုင်းကိုပြန်ပို့လိမ့်မည်။
ဤနှစ်ခုလုပ်ဆောင်ချက်များကိုအတူတကွအသုံးပြုသောအခါ developer များစွာသည်ရှုပ်ထွေးမှုဆိုင်ရာပြ issues နာများကိုရှုပ်ထွေးစေနိုင်သည်။ အဘယ်ကြောင့်ဆိုသော် strcspn () သည် အနေအထားကိုပြန်လည်ရောက်ရှိသောကြောင့် strstsch () ကို များသောအားဖြင့် string တစ်ခုပေါ်တွင်အချို့သောအနေအထားများမှအလွှာများကိုရှာဖွေရန်အသုံးပြုသည်။ နောက်ပြန်ပြောင်းပြန်ဟုခေါ်သောအခါ၎င်းသည်စနစ်တကျတည်ရှိနေသောလိုအပ်သော string အနေအထားကိုဖြစ်ပေါ်စေနိုင်သည်။
ဥပမာ -
<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">"World"</span></span><span>;
</span><span><span class="hljs-variable">$charlist</span></span><span> = </span><span><span class="hljs-string">",!"</span></span><span>;
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$charlist</span></span><span>); </span><span><span class="hljs-comment">// ပထမ ဦး ဆုံးမဟုတ်သောကော်မာ (သို့) exclamation အမှတ်အသား၏တည်နေရာကိုရှာပါ</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strstr</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-comment">// တေှ့မြင် "World" အဲဒီမှာလား $haystack အလယ်ပိုင်း</span></span><span>
</span></span>
ဤနည်းလမ်းသည် StRCSPN မှရရှိသောအနေအထားကို အခြေခံ. Substrings ကိုရှာဖွေခြင်းမရှိပါ။ Strstred () သည် string စသည့်အစမှအမြဲမျှော်ကြည့်ပါလိမ့်မည်။
strstred () မသုံးမီ strcspn () strcspn ( ) strcspn () မှတဆင့်မှန်ကန်သောအစအနေအထားကိုတွက်ချက်နိုင်သည် ။
<span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$charlist</span></span><span>);
</span><span><span class="hljs-variable">$substring</span></span><span> = </span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$position</span></span><span>); </span><span><span class="hljs-comment">// ဒီနရောကနေစတင်နိုင်တဲ့အလွှာကိုရယူပါ</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strstr</span></span><span>(</span><span><span class="hljs-variable">$substring</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>); </span><span><span class="hljs-comment">// 在子字符串အလယ်ပိုင်းတေှ့မြင် "World"</span></span><span>
</span></span>
strcspn () သတ်မှတ်ထားသောဇာတ်ကောင်အစုံမတွေ့ရသည့်အခါ string ကိုအရှည် ကို ပြန်ပို့သည် ။ အတူတူအသုံးပြုတဲ့အခါမှာပြန်လာတန်ဖိုးကိုအကောင့်ထဲမထည့်ပါက၎င်းသည်ပရိုဂရမ်အမှားများသို့မဟုတ်မရှင်းလင်းသောယုတ္တိဗေဒကိုဖြစ်စေနိုင်သည်။
ဥပမာ -
<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">"PHP"</span></span><span>;
</span><span><span class="hljs-variable">$charlist</span></span><span> = </span><span><span class="hljs-string">",!"</span></span><span>;
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$charlist</span></span><span>);
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strstr</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-comment">// မတွေ့ပါ "PHP",ပြန်လာ false</span></span><span>
</span></span>
အထက်ပါကုဒ်နံပါတ်တွင် strstr () သည် မှားယွင်းသောကြောင့် "PHP" သည် $ haystack တွင်မဟုတ်သည့်အတွက် မှားယွင်းသော ပြန်လာသည်။ သို့သော် developer သည်မှားယွင်းသောလုပ်ငန်းများပျက်ကွက်မှုကြောင့် မှားယွင်းစွာ ကိုင်တွယ်နိုင်သည်။
strstred () မသုံးမီအလွှာကိုအောင်မြင်စွာတွေ့ရှိနိုင်ကြောင်းစစ်ဆေးပါ။
<span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$charlist</span></span><span>);
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strstr</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">if</span></span><span> (</span><span><span class="hljs-variable">$result</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">"အလွှာကိုမတွေ့ပါ!"</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">"အလွှာတွေ့ရှိခဲ့ပါတယ်:"</span></span><span> . </span><span><span class="hljs-variable">$result</span></span><span>;
}
</span></span>
Strcspn () နှင့် strstrstr () သည် string mansupulation လုပ်ဆောင်ချက်များကိုနှစ်မျိုးလုံးသည်အချက်အလက်အမြောက်အများကိုမကြာခဏခေါ်သည့်အခါစွမ်းဆောင်ရည်ကိုအကျိုးသက်ရောက်နိုင်သည်။ အထူးသဖြင့်ကွင်းဆက်များတွင် stripspn () နှင့် strstrch () ၏ထပ်ခါတလဲလဲတွက်ချက်မှုများသည်မလိုအပ်သောထပ်ခါတလဲလဲပြောခြင်းကို ဦး တည်စေနိုင်သည်။
ဖြေရှင်းချက် -
Pretipoess string ကိုကွင်းဆက်မတိုင်မီ preprocess လုပ်ပါ။
<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">"World"</span></span><span>;
</span><span><span class="hljs-variable">$charlist</span></span><span> = </span><span><span class="hljs-string">",!"</span></span><span>;
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$charlist</span></span><span>);
</span><span><span class="hljs-variable">$substring</span></span><span> = </span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$position</span></span><span>);
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strstr</span></span><span>(</span><span><span class="hljs-variable">$substring</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>);
</span><span><span class="hljs-comment">// နောက်ထပ်စစ်ဆင်ရေး</span></span><span>
</span></span>
အစပိုင်းတွင်ရာထူးကိုတွက်ချက်ခြင်းနှင့်လုပ်ငန်းများဆောင်ရွက်ရန်အလွှာများကိုထုတ်ယူခြင်းအားဖြင့်မလိုအပ်ဘဲထပ်ခါတလဲလဲရှာဖွေခြင်းများကိုရှောင်ရှားနိုင်သည်။
PHP တွင် Strcspn () နှင့် strstrstr) ကို အသုံးပြုသောအခါတွင်ကြုံတွေ့ရသည့်ဘုံပြ problems နာများသည်အဓိကအားဖြင့် Function ခေါ်ဆိုမှုများ, ပြန်လည်ထူထောင်ရေးတန်ဖိုးများနှင့်စွမ်းဆောင်ရည်အစွန်အဖျားကိုအာရုံစိုက်သည်။ ဤလုပ်ဆောင်ချက်နှစ်ခု၏ပြန်လည်ပတ်မှုတန်ဖိုးများကိုနားလည်ခြင်းနှင့်အမှားစစ်ဆေးမှုများကိုစစ်ဆေးခြင်းသည်ကျိုးကြောင်းဆီလျော်မှုများကိုထိထိရောက်ရောက်ရှောင်ရှားနိုင်သည်။ ထို့အပြင်ကြီးမားသောအချက်အလက်များကိုထိရောက်စွာလုပ်ဆောင်ရန်, ကျိုးကြောင်းဆီလျော်သောတွက်ချက်မှုနှင့်ထပ်ခါတလဲလဲတွက်ချက်မှုများကိုရှောင်ရှားရန်လည်းအလွန်အရေးကြီးသည်။
ဤဆောင်းပါး၏နိဒါန်းအားဖြင့်လူတိုင်းသည်ဤလုပ်ဆောင်မှုနှစ်ခုကိုအမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်စေရန်အတွက်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုနှင့်ထိရောက်မှုကိုတိုးတက်စေရန်အတွက်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုအတွက်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်ဟုမျှော်လင့်ပါသည်။