PHP ပရိုဂရမ်တွင် PHP ပရိုဂရမ်တွင်အပြောင်းအလဲများသည်အထူးသဖြင့်ကြီးမားသောကြိုးကြီးများကိုကိုင်တွယ်ဖြေရှင်းရန်လိုအပ်သည့်အခါမှန်ကန်သောလုပ်ဆောင်မှုနှင့်စွမ်းဆောင်ရည်ကိုမည်သို့ရွေးချယ်ရမည်ကိုမည်သို့ရွေးချယ်ရမည်နည်း။ Strt_Split သည်အလွန်အဆင်ပြေသော string splitting function ကိုသတ်မှတ်ထားသောအရှည်ဖြင့်သေးငယ်သောကြိုးများထဲသို့ကြိုးကြီးများသို့ခွဲထားနိုင်သည်။ သို့သော်ကြီးမားသောကြိုးကြီးများကိုပြုလုပ်ရန် strip_split function ကိုအသုံးပြုသောအခါစွမ်းဆောင်ရည်သည်အထူးသဖြင့်ကြီးမားသောဒေတာပမာဏအတွက်အတိုင်းအတာတစ်ခုအထိထိခိုက်နိုင်သည်။ ဤဆောင်းပါးသည် strow_split function ၏စွမ်းဆောင်ရည်ကိုနက်နက်ရှိုင်းရှိုင်းလေ့လာပြီးအကောင်းဆုံးနည်းလမ်းများပေးသည်။
strow_split function ၏ function သည် string ကိုသေးငယ်သောအပိုင်းပိုင်းခွဲရန်ဖြစ်သည်။ function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
str_split(string $string, int $length = 1): array
$ string : split ရန်လိုအပ်သည့်မူရင်း string ကို။
$ အရှည် - တစ် ဦး စီခွဲပိတ်ပင်တားဆီးမှုတစ်ခုစီ၏အရှည်, 1 မှ 1 ။
ဥပမာအားဖြင့်, အောက်ပါကုဒ်သည်ဇာတ်ကောင်တစ် ဦး ချင်းစီအားဖြင့် string ကိုကွဲစေတယ်:
$string = "Hello, world!";
$result = str_split($string);
print_r($result);
ရလဒ်ရလဒ် -
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
[5] => ,
[6] =>
[7] => w
[8] => o
[9] => r
[10] => l
[11] => d
[12] => !
)
အကယ်. အရှည် parameter သည်သတ်မှတ်ထားပါကရလဒ်ကိုသတ်မှတ်ထားသောအရှည်ဖြင့်ခွဲခြားလိမ့်မည်။
$string = "Hello, world!";
$result = str_split($string, 3);
print_r($result);
ရလဒ်ရလဒ် -
Array
(
[0] => Hel
[1] => lo,
[2] => wo
[3] => rld
[4] => !
)
str'split function ၏ရှုပ်ထွေးသောအချိန်သည် O (N) သည် o (n) ဖြစ်သည်။ N သည် input string ၏အရှည်ဖြစ်သည်။ ဤအချိန်ရှုပ်ထွေးမှုများသည် string ကိုတစ်ကြိမ် နှိပ် . ဇာတ်ကောင်တစ် ဦး ချင်းစီကိုကူးယူအသစ်သို့ကူးယူလိမ့်မည်ဟုရှုပ်ထွေးသောပြသသည်။ ထို့ကြောင့်ကြီးမားသောကြိုးများနှင့်ဆက်ဆံရာတွင် string_split ၏စွမ်းဆောင်ရည်သည် string length ဖြင့်ထိခိုက်သည်။
အချိန်ရှုပ်ထွေးမှုအပြင်မှတ်ဉာဏ်အသုံးပြုမှုသည်မှတ်သားဖွယ်အချက်တစ်ခုဖြစ်သည်။ Strt_SPlit သည် ခင်းကျင်းအသစ်တစ်ခုကိုဖန်တီးသည်။ element တစ်ခုစီသည် string fragment တစ်ခုဖြစ်သည်။
အကယ်. string သည်အလွန်ကြီးမားလွန်းပါက၎င်းသည် PHP အစီအစဉ်တွင်မှတ်ဉာဏ်ပြည့်ဝစေနိုင်သည်။ အထူးသဖြင့် Str_Split မှပြန်လာသော array ရှိ Element တစ်ခုစီသည် string တစ်ခုဖြစ်သည့်အခါဤသည်သည် Memory overhead ထပ်ဆင့်ယူသည်။ ကုဒ်ကိုအကောင်းဆုံးအားဖြင့် Memory စားသုံးမှုကိုလျှော့ချနိုင်သည်။
strow_split function သည်အလွန်အဆင်ပြေသော်လည်းအချို့သော optimization များသည်ကြီးမားသောကြိုးကြီးများနှင့်ဆက်ဆံရာတွင်စွမ်းဆောင်ရည်တိုးတက်စေရန်လိုအပ်နိုင်သည်။ ဤတွင်အချို့သောအကောင်းမြင်အကြံပြုချက်များရှိသည် -
အကယ်. ကြီးမားသောကြိုးကြီးများကိုသင်ကိုင်တွယ်ရန်လိုအပ်ပါက string cuting ကိုကိုယ်တိုင်ပြုလုပ်ရန် substrat function ကိုအသုံးပြုရန်စဉ်းစားပါ။ String တစ်ခုလုံးကိုကူးယူမည့်အစား Substr သည် သင်လိုအပ်သည့်အပိုင်းတစ်ခုလုံးကိုကူးယူမည့်အစားသင်လိုအပ်သည့်အစိတ်အပိုင်းများကိုသာပြန်လည်မှတ်ထားပါ။ ဥပမာအားဖြင့်:
$string = "Hello, world!";
$length = 3;
$chunks = [];
for ($i = 0; $i < strlen($string); $i += $length) {
$chunks[] = substr($string, $i, $length);
}
print_r($chunks);
ဤ ချဉ်း ကပ်မှုသည် strt_split နှင့်နှိုင်းယှဉ်လျှင်မလိုအပ်သောမှတ်ဉာဏ်သုံးစွဲမှုကိုရှောင်ရှားသည်။
သင်ကိုင်တွယ်နေသည့်ကြီးမားသောကြိုးကြီးများကိုမှတ်ဉာဏ်ထဲသို့တိုက်ရိုက်မထည့်သွင်းနိုင်ပါက PHP ၏မီးစက်ကို အသုံးပြု. 0 ယ်လိုအားနှင့် 0 ယ်လိုအားကိုထုတ်လုပ်ရန်စဉ်းစားပါ။ Generator သည် PHP 5.5 တွင်မိတ်ဆက်ပေးသောအင်္ဂါရပ်တစ်ခုဖြစ်သည်။ ၎င်းသည်သင်လိုအပ်သည့်အခါကြိုးအပိုင်းအစများကိုတစ်ခုမှတစ်ခုပြုလုပ်ရန်သင့်အားခွင့်ပြုသည်။ အရာအားလုံးကိုတစ်ပြိုင်နက်တည်း load လုပ်ရန်မလိုဘဲမှတ်ဉာဏ်အသုံးပြုမှုကိုလျော့နည်းစေသည်။ ဥပမာအားဖြင့်:
function chunk_string($string, $length) {
for ($i = 0; $i < strlen($string); $i += $length) {
yield substr($string, $i, $length);
}
}
$string = "Hello, world!";
foreach (chunk_string($string, 3) as $chunk) {
echo $chunk . "\n";
}
ဤချဉ်းကပ်နည်းသည်မှတ်ဥာဏ်ကိုသာသိမ်းဆည်းရုံသာမကအလွန်ကြီးမားသောအချက်အလက်များကိုလုပ်ဆောင်စဉ်မြင့်မားသောစွမ်းဆောင်ရည်ကိုထိန်းသိမ်းထားသည်။
ကြီးမားသောကြိုးများနှင့်ဆက်ဆံရာတွင်ဖြစ်နိုင်လျှင်မလိုအပ်သောမှတ်ဉာဏ်ကူးယူခြင်းကိုရှောင်ပါ။ ဥပမာအားဖြင့်, အသစ်သောပြင်ဆင်မှုများသို့မဟုတ်ကြိုးများ၌ကြိုးများဖြင့်မကြာခဏဖန်တီးမှုကိုရှောင်ကြဉ်ပါ။ သငျသညျရည်ညွှန်းဖြတ်သန်းခြင်းဖြင့်မှတ်ဉာဏ်အသုံးပြုမှုကိုလျှော့ချနိုင်ပါတယ်။
strip_Split function သည် strings strings များနှင့်ဆက်ဆံရာတွင်အလွန်ထိရောက်သည်။ သို့သော်ကြီးမားသော strings များ, စွမ်းဆောင်ရည်တိုးတက်စေရန်အတွက် strat_split အစား substr ကို သုံး. သို့မဟုတ် 0 ယ်လိုအားရှိသည့်ကြိုးများပြုလုပ်ရန်မီးစက်ကိုသုံးပြီးစဉ်းစားပါ။ ထို့အပြင်မလိုအပ်သောမှတ်ဉာဏ်ကူးယူခြင်းနှင့် overhead ကိုရှောင်ရှားခြင်းနှင့် overhead တို့၏အစိတ်အပိုင်းလည်းဖြစ်သည်။
အလွန်ကြီးမားသောအချက်အလက်များအတွက်မှန်ကန်သော optimization method ကိုရွေးချယ်ခြင်းသည်အထူးသဖြင့်စွမ်းဆောင်ရည် - အထိခိုက်မခံသော application အခြေအနေများတွင်အလွန်အရေးကြီးသည်။ ဤဆောင်းပါးတွင်ဖော်ပြထားသော optimization နည်းလမ်းများသည်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုအတွက်ကြီးမားသောကြိုးများကိုပိုမိုကောင်းမွန်စွာကိုင်တွယ်နိုင်ရန်ကူညီနိုင်သည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။