လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Preg_replace_callback callback callback runctack parametersks ကဘာတွေလဲ။ အသေးစိတ်အချက်အလက်တစ်ခုချင်းစီ၏အခန်းကဏ်ကိုရှင်းပြပါ

Preg_replace_callback callback callback runctack parametersks ကဘာတွေလဲ။ အသေးစိတ်အချက်အလက်တစ်ခုချင်းစီ၏အခန်းကဏ်ကိုရှင်းပြပါ

gitbox 2025-08-18

PHP တွင် Preg_replace_callback သည်အလွန်လက်တွေ့ကျသောပုံမှန်အစားထိုးလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်းသည်ပုံမှန်စကားရပ်ကိုက်ညီမှုအပေါ် အခြေခံ. ကိုက်ညီသောရလဒ်များကိုလုပ်ဆောင်ရန် callback function များကိုအသုံးပြုရန်ခွင့်ပြုသည်။ အထူးသဖြင့်ကိုက်ညီသောအကြောင်းအရာများသည် dynamic modify လုပ်ရန်လိုအပ်သည့်အခါရှုပ်ထွေးသောအစားထိုးလိုအပ်ချက်များအတွက်မကြာခဏအသုံးပြုလေ့ရှိသည်။ callback function ကို၏ parameters တွေကိုနားလည်နားလည်ခြင်းသည်ဤလုပ်ဆောင်မှုကိုမှန်ကန်စွာအသုံးပြုခြင်းသည်အလွန်အရေးကြီးသည်။ ဤဆောင်းပါးသည် preg_replace_callback callback အတွင်းရှိ parameter တစ်ခုစီ၏အခန်းကဏ် parse ကိုခွဲခြမ်းစိတ်ဖြာလိမ့်မည်။

PREG_RELE_CALLACK function ကိုမိတ်ဆက်

PREG_RESTER_CALLE_CALLASBACK function ကိုပုံမှန်စကားရပ်နှင့်ကိုက်ညီသောအစိတ်အပိုင်းကိုအစားထိုးရန် callback function ကို execute လုပ်ရန်အသုံးပြုသည်။ ၎င်း၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 <span><span><span class="hljs-title function_ invoke__">preg_replace_callback</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-variable">$callback</span></span><span>, </span><span><span class="hljs-variable">$subject</span></span><span>);
</span></span>
  • $ ပုံစံ - ပုံမှန်စကားရပ်ပုံစံ။

  • $ callback : ကိုက်ညီမှုရလဒ်များကိုကိုင်တွယ်ရန်အသုံးပြုသော callback function ကို။

  • $ အကြောင်းအရာ - ကိုက်ညီခြင်းနှင့်အစားထိုးရန် string ကို။

callback function ကို parameter ကိုခွဲခြမ်းစိတ်ဖြာ

callback function သည် preg_replace_callback ၏အဓိကအချက်ဖြစ်သည်။ များသောအားဖြင့်ကိုက်ညီမှုရှိသောအကြောင်းအရာသည်အထူးအပြောင်းအလဲအတွက်အထူးပြုလုပ်သောအခါကျွန်ုပ်တို့သည် callback function ကိုမှတစ်ဆင့်ပွဲတိုင်းကိုလုပ်ကိုင်မည်။ callback function တစ်ခု၏အဓိပ္ပါယ်ဖွင့်ဆိုချက်သည်အမည်မသိ function တစ်ခုသို့မဟုတ်အမည်ရှိသည့်လုပ်ဆောင်ချက်တစ်ခုဖြစ်နိုင်သည်။ မည်သည့်ပုံစံဖြင့်, callback function သည်သတ်မှတ်ထားသော parameterscers အရေအတွက်ကိုလက်ခံလိမ့်မည်။

1 ။ ရလဒ်ခင်းကျင်း (ပွဲစဉ်)

Callback function ၏ပထမဆုံး pareter သည်ပုံမှန်အသုံးအနှုန်းဖြင့်လိုက်ဖက်သောရလဒ်များပါ 0 င်သည့် array တစ်ခုဖြစ်သည်။ ၎င်း၏အကြောင်းအရာများပါဝင်သည်:

  • ပထမ element ( $ ကိုက်ညီမှု [0] ) သည်ကိုက်ညီသော string တစ်ခုလုံးဖြစ်သည်။

  • နောက်ဆက်တွဲဒြပ်စင်များ ( $ ကိုက်ညီခြင်း [1] , ဒေါ်လာပွဲများ [2] , ... ) သည်ဖမ်းဆီးရမိသည့်အုပ်စုတစ်ခုစီ၏ကိုက်ညီမှုရှိသောရလဒ်များဖြစ်သည်။

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

 <span><span><span class="hljs-variable">$pattern</span></span><span> = </span><span><span class="hljs-string">'/(\d+)\-(\d+)/'</span></span><span>;
</span><span><span class="hljs-variable">$subject</span></span><span> = </span><span><span class="hljs-string">'12-34, 56-78'</span></span><span>;
</span></span>

ထို့နောက်ကိုင်တွယ်ရန် preg_replace_callback ကို သုံးပါ။

 <span><span><span class="hljs-title function_ invoke__">preg_replace_callback</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, function(</span><span><span class="hljs-variable">$matches</span></span><span>) {
    </span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$matches</span></span><span>);
}, </span><span><span class="hljs-variable">$subject</span></span><span>);
</span></span>

ကွပ်မျက်ရလဒ်မှာ:

 <span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
    [</span><span><span class="hljs-number">0</span></span><span>] =&gt; </span><span><span class="hljs-number">12</span></span><span>-</span><span><span class="hljs-number">34</span></span><span>
    [</span><span><span class="hljs-number">1</span></span><span>] =&gt; </span><span><span class="hljs-number">12</span></span><span>
    [</span><span><span class="hljs-number">2</span></span><span>] =&gt; </span><span><span class="hljs-number">34</span></span><span>
)
</span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
    [</span><span><span class="hljs-number">0</span></span><span>] =&gt; </span><span><span class="hljs-number">56</span></span><span>-</span><span><span class="hljs-number">78</span></span><span>
    [</span><span><span class="hljs-number">1</span></span><span>] =&gt; </span><span><span class="hljs-number">56</span></span><span>
    [</span><span><span class="hljs-number">2</span></span><span>] =&gt; </span><span><span class="hljs-number">78</span></span><span>
)
</span></span>
  • $ ကိုက်ညီမှု [0] သည်ကိုက်ညီသောအပြည့်အဝ string ကိုဖြစ်ပါတယ်။

  • $ ကိုက်ညီ [1] နှင့် $ ကိုက်ညီမှု [2] ကိုက်ညီ subpattern အစိတ်အပိုင်းများဖြစ်ကြသည်။

2 ။ callback function ကို၏တန်ဖိုးကိုပြန်လာ

ပြန်လည်အစားထိုးခြင်း၏ရလဒ်အဖြစ် callback function ကို၏ပြန်လာတန်ဖိုးကိုအသုံးပြုလိမ့်မည်။ ဆိုလိုသည်မှာ callback function သည် data processing function တစ်ခုမျှသာမဟုတ်ပါ, ၎င်း၏ပြန်လာတန်ဖိုးသည်အစားထိုး၏အကြောင်းအရာများကိုတိုက်ရိုက်အကျိုးသက်ရောက်သည်။ အကယ်. callback function ကို string ကိုပြန်ပို့ပါက string သည်မူလကလိုက်ဖက်သောအပိုင်းကိုအစားထိုးလိမ့်မည်။

ဥပမာအားဖြင့်:

 <span><span><span class="hljs-variable">$pattern</span></span><span> = </span><span><span class="hljs-string">'/(\d+)\-(\d+)/'</span></span><span>;
</span><span><span class="hljs-variable">$subject</span></span><span> = </span><span><span class="hljs-string">'12-34, 56-78'</span></span><span>;

</span><span><span class="hljs-variable">$replaced</span></span><span> = </span><span><span class="hljs-title function_ invoke__">preg_replace_callback</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, function(</span><span><span class="hljs-variable">$matches</span></span><span>) {
    </span><span><span class="hljs-comment">// အစားထိုးအဖြစ်နံပါတ်နှစ်ခု၏ပေါင်းလဒ်ကိုသုံးပါ</span></span><span>
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$matches</span></span><span>[</span><span><span class="hljs-number">1</span></span><span>] + </span><span><span class="hljs-variable">$matches</span></span><span>[</span><span><span class="hljs-number">2</span></span><span>];
}, </span><span><span class="hljs-variable">$subject</span></span><span>);

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$replaced</span></span><span>;
</span></span>

output ရလဒ် -

 <span><span>46, 134
</span></span>

ဤဥပမာတွင်လိုက်ဖက်သောနံပါတ်များကိုကျွန်ုပ်တို့ထည့်ပြီးရလဒ်နှင့်အတူမူရင်းကိုက်ညီသည့် string ကိုအစားထိုးလိုက်သည်။

3 ။ အခြားရွေးချယ်စရာ parameters တွေကို: offset နှင့်ကန့်သတ်

Callback function ကိုယ်နှိုက်သည် $ offset နှင့် $ ကန့် သတ်ချက်များမှတစ်ဆင့်ပိုမိုအသေးစိတ်အချက်အလက်များကိုလည်းရယူနိုင်သည်။ ဤရွေ့ကား parameters တွေကိုများသောအားဖြင့် preg_replace_callback က PREG_RESTERT_CALLBACK မှပြည်တွင်း၌ကိုင်တွယ်သည်။ များသောအားဖြင့်, ဘုံအသုံးပြုမှုတွင်ပထမ ဦး ဆုံး parameter သည် ( $ matches ) နှင့် callback function ကိုပြန်ပို့ခြင်းတန်ဖိုးသည်လုံလောက်သည်။

နိဂုံးချုပ်အားဖြင့်

PREG_RESTER_CALLACK function နှင့် callback function သည် developer များနှင့်ကိုက်ညီသောအကြောင်းအရာများအပေါ် အခြေခံ. devere များကို devonically အစားထိုးခွင့်ပြုသည်။ callback function တွင်ပထမဆုံး parameter $ ကိုက်ညီမှု သည်ပွဲစဉ်နှင့်တွေ့ဆုံမှုအပြည့်အ 0 နှင့်စုစည်းထားသောအုပ်စု၏သတင်းအချက်အလက်များကိုတိုက်ရိုက်ပြန်လည်ပေးပို့သည့်အကြောင်းအရာကိုတိုက်ရိုက်ပြန်လည်သတ်မှတ်ခြင်းကိုတိုက်ရိုက်သတ်မှတ်ထားသည်။ ဤအခြေခံသဘောတရားများကိုကျွမ်းကျင်ပြီးသောအခါရှုပ်ထွေးသောပုံမှန်အစားထိုးလုပ်ငန်းများကိုအကောင်အထည်ဖော်ရန် Preg_replace_Callback ကို သုံးနိုင်သည်။