PHP တွင် ကြိမ်ဖန်များစွာ လှည့်ပတ်ခြင်း၏ ပိုလျှံခြင်းများကို အကောင်းဆုံးပြုလုပ်ခြင်း
အောက်ပါကုဒ်တွင် ပရိုဂရမ်မာတစ်ဦးသည် အခင်းကျင်း
တစ်ခုအတွင်း ဂဏန်း 3 ရှိမရှိ စစ်ဆေးနေသည်:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$exists = false;
foreach ($arr as $elem) {
if ($elem == 3) {
$exists = true;
}
}
var_dump($exists);
?>
သူ၏ ဖြေရှင်းချက်တွင် ဘာမှားနေသနည်း။ ကြိမ်ဖန်များစွာ
လှည့်ပတ်ခြင်းတွင် ပိုလျှံသော လုပ်ဆောင်ချက်များ မရှိသလို
ထင်ရသည်။ သို့သော် ပြဿနာမှာ ဂဏန်း 3 သည်
အခင်းကျင်းထဲတွင် ရှိကြောင်း သတ်မှတ်ပြီးနောက်တွင် -
အခင်းကျင်း အဆုံးသို့ မရောက်မချင်း ကြိမ်ဖန်များစွာ
လှည့်ပတ်နေဆဲဖြစ်သည်။
အကျိုးမရှိဆုံး ဖြစ်လာမည်မှာ ဂဏန်း 3 ကို
အခင်းကျင်း၏ အစပိုင်းတွင် တွေ့ပြီး အခင်းကျင်းကိုယ်တိုင်က
ဥပမာ၊ အရှည် 1000 အရာဝတ္ထုများရှိလျှင်ဖြစ်သည်။
အသုံးမဝင်သော ကြိမ်ဖန်ပတ်ခြင်း ထောင်နှင့်ချီ၍ ပိုလျှံနေမည်!
အကောင်းဆုံးမဟုတ်ပါ။
ကြိမ်ဖန်ကို အချိန်မီရပ်တန့်ခြင်းဖြင့် ကုဒ်ကို အကောင်းဆုံးပြုလုပ်ကြပါစို့:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$exists = false;
foreach ($arr as $elem) {
if ($elem == 3) {
$exists = true;
break;
}
}
var_dump($exists);
?>
အောက်ပါကုဒ်သည် အခင်းကျင်းမှ အရာဝတ္ထုမည်မျှကို
ပေါင်းထည့်ရမည်ကို တွက်ချက်သည်၊
စုစုပေါင်းမှာ 10 ထက်ကျော်လွန်ရန် ဖြစ်သည်။
အကောင်းဆုံးပြုလုပ်ခြင်းကို ဆောင်ရွက်ပါ:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$sum = 0;
$i = 1;
foreach ($arr as $elem) {
$sum += $elem;
if ($sum <= 10) {
$i++;
}
}
echo $i;
?>
အောက်ပါကုဒ်သည် ပေးထားသော ကြားကာလမှ စုံကိန်းများကို ထုတ်ပြသည်။ အကောင်းဆုံးပြုလုပ်ခြင်းကို ဆောင်ရွက်ပါ:
<?php
for ($i = 0; $i <= 100; $i++) {
if ($i % 2 === 0) {
echo $i;
}
}
?>
အောက်ပါကုဒ်သည် တစ်ချိန်တည်းတွင် 2 နှင့်
3 တို့ဖြင့် စားလို့ပြတ်သော ဂဏန်းများကို
ထုတ်ပြသည်။ အကောင်းဆုံးပြုလုပ်ခြင်းကို ဆောင်ရွက်ပါ:
<?php
for ($i = 0; $i <= 100; $i++) {
if ($i % 2 === 0 and $i % 3 === 0) {
echo $i;
}
}
?>