လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ICONV_STRRPOS function ၏အခြေခံအသုံးပြုမှုကိုအသေးစိတ်ရှင်းပြထားသည်။ string ကိုရှာရန် PHP တွင် IconV_Strpos ကိုမည်သို့မှန်ကန်စွာအသုံးပြုရမည်နည်း။

ICONV_STRRPOS function ၏အခြေခံအသုံးပြုမှုကိုအသေးစိတ်ရှင်းပြထားသည်။ string ကိုရှာရန် PHP တွင် IconV_Strpos ကိုမည်သို့မှန်ကန်စွာအသုံးပြုရမည်နည်း။

gitbox 2025-08-14

PHP Development တွင် Multi-byte strings များ (တရုတ်, ကိုးရီးယားနှင့်အခြားဇာတ်ကောင်များပါ 0 င်သောကြိုးများကဲ့သို့သောလုပ်ရပ်များကို ) ကိုင်တွယ်ဖြေရှင်းသည့်အခါ, Multibyte ဇာတ်ကောင်အစုံကိုပိုမိုကောင်းမွန်စေရန် PHP သည် iconv_strrpos () function ကိုထောက်ပံ့ပေးသည်။ ဤဆောင်းပါးသည်အခြေခံကျသောအသုံးပြုမှု, parameter ၏အဓိပ္ပာယ်နှင့်အသေးစိတ်အချက်အလက်များအားအသေးစိတ်အချက်အလက်များကိုအသေးစိတ်ဖော်ပြရန်, သင် encoding string အတွင်းရှိနောက်ဆုံးတည်နေရာကိုမှန်ကန်စွာရှာဖွေရန်ကူညီပေးပါမည်။

1 ။ နိဒါန်း

iconv_strrpos () သည် iconv extension တွင် substring တစ်ခုတွင်အလွှာတစ်ခုတွင်တွေ့ရမည့်နောက်ဆုံးအကြိမ်ကိုရှာဖွေရန် ICONV extension တွင် function တစ်ခုဖြစ်သည်။ Strrpos နှင့် မတူဘဲ၎င်းသည် Multibyte Encoding နှင့်ဆက်ဆံရာတွင်ဇာတ်ကောင်နယ်နိမိတ်များကိုပိုမိုတိကျစွာခွဲခြားသိမြင်နိုင်သည်။

function ရှေ့ပြေးပုံစံ:

 <span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">iconv_strrpos</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">string</span></span><span> </span><span><span class="hljs-variable">$charset</span></span><span> = </span><span><span class="hljs-title function_ invoke__">ini_get</span></span><span>(</span><span><span class="hljs-string">"iconv.internal_encoding"</span></span><span>)] )
</span></span>

parameter သည်ဖော်ပြချက်:

  • $ haystack : ရှာဖွေရန်ပစ်မှတ် string ကို။

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

  • $ charset (optional): string ကို၏ set encoding character ကိုဖေါ်ပြပါ။ မသတ်မှတ်ပါက iconv.internal_encoding setting ကိုပုံမှန်အားဖြင့်အသုံးပြုသည်။

Value ကိုပြန်သွားပါ

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

2 ။ အခြေခံအသုံးပြုမှုဥပမာ

ဥပမာ 1 - အင်္ဂလိပ်ဝင်းများပြုလုပ်ခြင်း

 <span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"hello world, welcome to the world of PHP"</span></span><span>;
</span><span><span class="hljs-variable">$pos</span></span><span> = </span><span><span class="hljs-title function_ invoke__">iconv_strrpos</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-string">"world"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$pos</span></span><span>; </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း 27</span></span><span>
</span></span>

ဤဥပမာတွင် string "World" ပေါ်လာသည့်နောက်ဆုံးအကြိမ်အညွှန်း 27 ဖြစ်သည်။

ဥပမာ 2 - တရုတ်ကြိုးများကိုထုတ်ယူခြင်း (UTF-8 encoding ကိုအသုံးပြုခြင်း)

 <span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"မင်္ဂလာပါ,ကမ်ာဘ。မင်္ဂလာပါ,PHP。"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"မင်္ဂလာပါ"</span></span><span>;
</span><span><span class="hljs-variable">$pos</span></span><span> = </span><span><span class="hljs-title function_ invoke__">iconv_strrpos</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>, </span><span><span class="hljs-string">"UTF-8"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$pos</span></span><span>; </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း 6(ဒုတိယညွှန်ပြ“မင်္ဂလာပါ”Multibyte အောက်မှာဇာတ်ကောင် offset အနေအထား)</span></span><span>
</span></span>

မှတ်စု: အကယ်. သင်သည် Strrpos () ကို အသုံးပြုပါကဤ string ကိုလုပ်ဆောင်ရန်အသုံးပြုပါက၎င်းသည်မှားယွင်းသောရလဒ်များသို့မဟုတ် carbled code များဖြစ်ပေါ်စေနိုင်သည်။ ထို့ကြောင့်, တရုတ်ကိုပြုပြင်သည့်အခါသင် encoding ကိုအတိအလင်းဖော်ပြရမည်။

3 ။ Strrpos ကနေခြားနားချက်

လုပ်ဆောင်ချက် Multibyte ကိုထောက်ခံပါသလား။ အကြံပြုအခြေအနေများ
strrpos () မဟုတ် single-byte string ကို (ထိုကဲ့သို့သော ASCII အဖြစ်)
iconv_strpos () ဟုတ်ကဲ့ Multi-byte ကြိုးများ (UTF-8, GBK)

အကယ်. သင်သည် UTF-8 encoded content (ဥပမာဝက်ဘ်ဆိုက်များ၏ဘာသာစကားမျိုးစုံကဲ့သို့သောစာမျက်နှာများ) နှင့်ဆက်ဆံနေပါက ICONV_STRRPOS () ကို အသုံးပြုခြင်းသည်မသင့်လျော်သောဇာတ်ကောင်နယ်နိမိတ်ကြောင့်ပြ problems နာများကိုရှောင်ရှားရန်အထူးအကြံပြုလိုပါသည်။

4 ။ အကြံပြုချက်များနှင့်ကြိုတင်ကာကွယ်မှုကိုသုံးပါ

  1. အက်ခရာအစုတခုကိုသတ်မှတ်ရန်အရေးကြီးသည် - အကယ်. သင်သည် $ charset ကို အတိအလင်းမဖော်ပြပါက PHP သည်သင်အမှန်တကယ်အသုံးပြုနေသော string encoding နှင့်မကိုက်ညီသော default iconv.internal_encoding ကို အသုံးပြုသည်။

  2. ICONV extension ကိုသေချာအောင်လုပ်ပါ ။ ဤလုပ်ဆောင်ချက်သည် ICONOV extension တစ်ခုဖြစ်ပြီးပုံမှန်အားဖြင့် PHP ဖြင့် PHP ဖြင့်ဖွင့်ထားသော်လည်းအချို့သောစိတ်ကြိုက်ပတ်ဝန်းကျင်တွင်ကိုယ်တိုင်ဖွင့်ထားရန်လိုအပ်သည်။

  3. ဒီအနေအထားဟာ byte offset မဟုတ်တဲ့ဇာတ်ကောင် offset ကိုပြန်ပို့တယ် ။ ဒီဟာက byte encoding အတွက်အရမ်းအရေးကြီးတယ်,

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

ICONV_STRRPOS () () Multibyte ကြိုးနှင့်ဆက်ဆံရာတွင်အလွန်လက်တွေ့ကျတဲ့လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်းသည်ဇာတ်ကောင်နယ်နိမိတ်များကိုမှန်ကန်စွာဖော်ထုတ်နိုင်ပြီး developer များရှာဖွေတွေ့ရှိသူများ၏တည်နေရာကိုတိတိကျကျရှာဖွေနိုင်သည်။ အထူးသဖြင့်တရုတ်သို့မဟုတ်အခြား apcii မဟုတ်သောဇာတ်ကောင်များနှင့်ဆက်ဆံရာတွင်ဤလုပ်ဆောင်မှုကိုမှန်ကန်စွာအသုံးပြုခြင်းသည်အစီအစဉ်၏တည်ငြိမ်မှုနှင့်နိုင်ငံတကာ၏လိုက်ဖက်မှုကိုများစွာတိုးတက်စေနိုင်သည်။

UTF-8 encoded content ကိုသင်ရင်ဆိုင်ရတိုင်း strrpos အစား iconv_strrpos () ကို သုံးပါ () မလိုအပ်သောပြ problems နာများကိုရှောင်ရှားရန်အတိအလင်းသတ်မှတ်ထားသည့်ဇာတ်ကောင်ကိုဖော်ပြရန်အမြဲသတိရပါ။