PHP တွင် ကြိမ်ဖန်များစွာ လှည့်ပတ်ခြင်း၏ ပိုလျှံခြင်းများကို အကောင်းဆုံးပြုလုပ်ခြင်း

အောက်ပါကုဒ်တွင် ပရိုဂရမ်မာတစ်ဦးသည် အခင်းကျင်း တစ်ခုအတွင်း ဂဏန်း 3 ရှိမရှိ စစ်ဆေးနေသည်:

php<?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<?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);
?>
Задание 1

အောက်ပါကုဒ်သည် အခင်းကျင်းမှ အရာဝတ္ထုမည်မျှကို ပေါင်းထည့်ရမည်ကို တွက်ချက်သည်၊ စုစုပေါင်းမှာ 10 ထက်ကျော်လွန်ရန် ဖြစ်သည်။ အကောင်းဆုံးပြုလုပ်ခြင်းကို ဆောင်ရွက်ပါ:

php<?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;
?>
Задание 2

အောက်ပါကုဒ်သည် ပေးထားသော ကြားကာလမှ စုံကိန်းများကို ထုတ်ပြသည်။ အကောင်းဆုံးပြုလုပ်ခြင်းကို ဆောင်ရွက်ပါ:

php<?php
  for ($i = 0; $i <= 100; $i++) {
    if ($i % 2 === 0) {
      echo $i;
    }
  }
?>
Задание 3

အောက်ပါကုဒ်သည် တစ်ချိန်တည်းတွင် 2 နှင့် 3 တို့ဖြင့် စားလို့ပြတ်သော ဂဏန်းများကို ထုတ်ပြသည်။ အကောင်းဆုံးပြုလုပ်ခြင်းကို ဆောင်ရွက်ပါ:

php<?php
  for ($i = 0; $i <= 100; $i++) {
    if ($i % 2 === 0 and $i % 3 === 0) {
      echo $i;
    }
  }
?>