PHP တွင် array_chunk နှင့် array_walk သည်များသောအားဖြင့်အသုံးပြုလေ့ရှိသောခင်းကျင်းသောစစ်ဆင်ရေးလုပ်ဆောင်ချက်များဖြစ်သည်။ ၎င်းတို့ကို strays သေးငယ်သောအပိုင်းအစများထဲသို့ဖြတ်တောက်ရန်နှင့် Array ရှိ Element တစ်ခုစီတွင် callback လုပ်ဆောင်ချက်များကိုလုပ်ဆောင်ရန်အသုံးပြုသည်။ ယနေ့ခေတ်တွင်အသုတ် update စစ်ဆင်ရေးများကိုအကောင်အထည်ဖော်ရန်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုမည်သို့အသုံးပြုရမည်ကိုဆွေးနွေးပါမည်။
array_chunk function သည်ကြီးမားသောခင်းကျင်းမှုမျိုးစုံကိုဝေငှသည့်အပေါက်တစ်ခုသို့ခွဲဝေပေးသည်။ ၎င်း၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
array_chunk(array $array, int $size, bool $preserve_keys = false): array
$ array : split ခံရဖို့မူရင်းခင်းကျင်း။
$ အရွယ်အစား : သေးငယ်တဲ့အပိုင်းအစတစ်ခု၏အရွယ်အစား။
$ Present_Keys : မူရင်းခင်းကျင်း၏သော့များကိုထိန်းသိမ်းရန်ဖြစ်စေ။
array_chunk သည် အရွယ်အစားအမျိုးမျိုးရှိသောခင်းကျင်းမှုတစ်ခုစီကိုပြန်လည်ရောက်ရှိစေပြီး subarray သည်အများဆုံးအရွယ်အစားရှိသော ဒေါ်လာအရွယ်အစား ရှိသည်။
Array_walk function ကို array ကိုကျော်လွန်ပြီး Element တစ်ခုစီအတွက်သတ်မှတ်ထားသော callback function ကိုအသုံးပြုသည်။ ၎င်း၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
array_walk(array &$array, callable $callback): bool
$ array : operated ခံရဖို့ array, ရည်ညွှန်းခြင်းဖြင့်လွန်။
$ callback : array ဒြပ်စင်တစ်ခုစီကိုလုပ်ဆောင်ရန်အသုံးပြုသော callback function ကို။
Array_walk သည် Array ၏ element တစ်ခုစီ၏ callback function ကိုအသုံးပြုသည်။ callback function သည်လက်ရှိခင်းကျင်းသောဒြပ်စင်၏တန်ဖိုးနှင့်သော့ကိုသတ်မှတ်ချက်များအဖြစ်လက်ခံရရှိသည်။
ကျွန်ုပ်တို့တွင်ဒေတာများစွာနှင့်အတူခင်းကျင်းမှုတစ်ခုရှိသည်ဆိုပါစို့။ array (e.g. ကိုပြင်ဆင်ရန်အတွက်အချို့သောတန်ဖိုးများကိုပြုပြင်ရန်သို့မဟုတ်သတင်းအချက်အလက်အသစ်များထည့်သွင်းခြင်းသို့မဟုတ်အချက်အလက်အသစ်များထည့်သွင်းရန်လိုသည်ဆိုပါစို့။ array တစ်ခုလုံး၏တစ်ခုတည်းသောအပြောင်းအလဲကိုရှောင်ရှားရန်ကျွန်ုပ်တို့အား Array_Chunk မှတဆင့်ခင်းကျင်းမှုမျိုးစုံကိုခွဲထုတ်နိုင်ပြီး array_walk မှတဆင့် update စစ်ဆင်ရေးများကိုလုပ်ဆောင်နိုင်သည်။
အစုကိုအကောင်အထည်ဖော်ရန် array_chunk နှင့် array_walk ကို အသုံးပြုခြင်း၏ဥပမာတစ်ခုဖြစ်သည်။ ကျွန်ုပ်တို့သည် URL လိပ်စာများစွာဖြင့်ခင်းကျင်းမှုတစ်ခုပြုလုပ်လိုပြီး URLs အားလုံး URLs အားလုံးတွင် M66.net သို့ domain name ကိုပြောင်းလဲရန်လိုအပ်သည်ဆိုပါစို့။
<?php
// မူရင်းခင်းကျင်း,မျိုးစုံပါရှိသည် URL
$urls = [
'http://www.example.com/path1',
'https://www.example.com/path2',
'http://www.example.com/path3',
'https://www.example.com/path4',
];
// အသုံးပြု array_chunk 将မူရင်းခင်းကျင်း分成每块最多 2 ဒြပ်
$chunks = array_chunk($urls, 2);
// 遍历每个小块并အသုံးပြု array_walk 来修改每ဒြပ်
foreach ($chunks as &$chunk) {
// အသုံးပြု array_walk တစ်ခုချင်းစီကိုပိတ်ပင်တားဆီးမှုအတွက် element တွေကိုပြုပြင်မွမ်းမံ
array_walk($chunk, function(&$url) {
// အဖြစ်ဒိုမိန်းအမည်ကိုအစားထိုးလိုက်ပါ m66.net
$url = preg_replace('/https?:\/\/[^\/]+/', 'https://m66.net', $url);
});
}
// output ကို updated ရလဒ်များ
foreach ($chunks as $chunk) {
print_r($chunk);
}
?>
URLs မျိုးစုံပါ 0 င်သည့် array တစ်ခု arraling တစ်ခုကိုကျွန်ုပ်တို့ပထမဆုံးသတ်မှတ်သည်။
ထို့နောက် Array ကိုအရွယ်အစားသေးငယ်သည့်အပိုင်းပိုင်းခွဲရန် array_chunk ကို သုံးပါ။ ဤနည်းအားဖြင့် ဒေါ်လာဖြင့်ဒေါ်လာအပိုင်းအစများသည် တစ်ရှုထောင့်နှစ်လုံးရှိခင်းကျင်းမှုတစ်ခုဖြစ်လာလိမ့်မည်။
နောက်တစ်ခုက array_walk တစ်ခုစီကို subarray တစ်ခုချင်းစီကိုဖြတ်ပြီး M66.net တစ်ခုချင်းစီရဲ့ Domain Name ရဲ့အပိုင်းကို M66.net နဲ့အစားထိုးပါ။
နောက်ဆုံးအနေဖြင့်ကျွန်ုပ်တို့သည်ပြုပြင်ထားသောခင်းကျင်းမှုကိုထုတ်ပေးသည်။
စွမ်းဆောင်ရည် optimization : array_chunk သည် ကြီးမားသောအတုံးကြီးများကိုခွဲထားသည်။
ပြောင်းလွယ်ပြင်လွယ် - အချို့သောအကွက်များကိုပြုပြင်ခြင်းကဲ့သို့သောအတုံးတစ်ခုစီတွင်အချက်အလက်များကိုအလွယ်တကူပြုပြင်ရန် array_walk ကို အသုံးပြုပါ။
ဒေတာဆိုင်ရာမှတ်တမ်းများ,
ဒေတာသန့်ရှင်းရေး, string ကိုအစားထိုးခြင်းနှင့်အခြားစစ်ဆင်ရေး။
Array_chunk နှင့် array_walk ကို ပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ကြီးမားသောခင်းကျင်းမှုတွင်အသုတ် update စစ်ဆင်ရေးများကိုအလွယ်တကူလုပ်ဆောင်နိုင်သည်။ ပထမ ဦး စွာ Array_chunk မှတဆင့်ခင်းကျင်းကိုသေးငယ်တဲ့အပိုင်းအစများအဖြစ်ခွဲထုတ်ပြီးနောက် Earl_Walk တစ်ခုစီကိုတစ်ခုချင်းစီကိုအသစ်ပြောင်းရန် array_walk ကို သုံးပါ။ ဤချဉ်းကပ်နည်းသည်ကုဒ်ကိုယုတ္တိဗေဒကိုရိုးရှင်းရုံသာမကမှတ်ဉာဏ်နှင့်စွမ်းဆောင်ရည်ထိရောက်မှုကိုတိုးတက်စေသည်။
ဤဆောင်းပါးသည် PHP ရှိဤလုပ်ဆောင်မှုနှစ်ခုကို PHP ရှိဤလုပ်ဆောင်မှုနှစ်ခုကိုမည်သို့အသုံးပြုရမည်ကိုနားလည်ရန်ကူညီရန်ကူညီသည်။ သင့်တွင်မေးခွန်းများသို့မဟုတ်နောက်ထပ်လိုအပ်ချက်ရှိပါက ကျေးဇူးပြု. ဆက်သွယ်ပါ။