PHP တွင် အလံများဖြင့် အလုပ်လုပ်ခြင်း

ယခုအခါ အလံများ ဖြင့် အလုပ်လုပ်နည်းကို ကျွန်ုပ်တို့ သင်ယူတော့မည်။ အလံဆိုသည်မှာ အထူးပြုထားသော ကိန်းရှင်တစ်ခုဖြစ်ပြီး ၎င်းသည် တန်ဖိုးနှစ်ခုသာ လက်ခံနိုင်သည် - true နှင့် false။ အလံများကို အသုံးပြု၍ တစ်စုံတစ်ရာ မရှိခြင်းကို စစ်ဆေးသည့် ပြဿနာများကို ဖြေရှင်းနိုင်သည်။ ဥပမာအားဖြင့်၊ array တစ်ခုတွင် သတ်မှတ်ထားသော တန်ဖိုးရှိသည့် element မရှိကြောင်း စစ်ဆေးနိုင်သည်။ စလိုက်ကြပါစို့။

အောက်ပါ ပြဿနာကို ဖြေရှင်းကြပါစို့ - ဂဏန်းများပါဝင်သော array တစ်ခု ရှိသည်၊ ၎င်းတွင် တန်ဖိုး 3 ရှိသော element ရှိမရှိ စစ်ဆေးရန် လိုအပ်သည်။ ရှိလျှင် - '+++' ကို ထုတ်ပြမည်၊ မရှိလျှင် - '---' ကို ထုတ်ပြမည်။

ပထမဦးစွာ '+++' ကို ထုတ်ပြရန် ကြိုးစားကြည့်ကြပါစို့။ ဤသို့ပြုလုပ်ရန် ကျွန်ုပ်တို့၏ array အားလုံးကို ဖြတ်သန်းပြီး if ဖြင့် မေးမည် - လက်ရှိ element သည် တန်ဖိုး 3 နှင့် ညီသလား။ ညီလျှင် - '+++' ကို ထုတ်ပြမည်။

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  foreach ($arr as $elem) {
    if ($elem === 3) {
      echo '+++';
    }
  }
?>

သို့သော် ကျွန်ုပ်တို့၏ ဖြေရှင်းချက်သည် အလွန်ကောင်းမွန်သည်မဟုတ် - သို့မဟုတ် array တွင် တန်ဖိုး 3 တစ်ခုတည်းမကဘဲ များစွာရှိလျှင်၊ '+++' သည် အကြိမ်ပေါင်းများစွာ ထုတ်ပြလိမ့်မည်။ ကျွန်ုပ်တို့၏ array ကို ပြင်ဆင်ကြပါစို့ (တန်ဖိုး 3 ရှိသော element နှစ်ခု လုပ်ကြည့်ပါ) နှင့် ၎င်းကို သေချာအောင်လုပ်ကြည့်ပါ။

php<?php
  $arr = [1, 2, 3, 4, 3, 5];
  
  foreach ($arr as $elem) {
    if ($elem === 3) {
      echo '+++'; // အကြိမ်ပေါင်းများစွာ ထုတ်ပြလိမ့်မည်
    }
  }
?>

ပြဿနာကို ပြင်ဆင်ကြပါစို့ - element တစ်ခု ရှာတွေ့ပြီးပါက break ကို အသုံးပြု၍ loop ကို ရပ်တန့်လိုက်ပါ။

php<?php
  $arr = [1, 2, 3, 4, 3, 5];
  
  foreach ($arr as $elem) {
    if ($elem === 3) {
      echo '+++';
      break;  // loop ကို ရပ်တန့်လိုက်ပါ
    }
  }
?>

ယခုအခါ၊ array တွင် တန်ဖိုး 3 ရှိသော element လုံးဝမရှိပါက '---' ထွက်ပေါ်လာစေရန် လုပ်ဆောင်ကြည့်ကြပါစို့။ ထင်ရှားသော အမှားအယွင်းတစ်ခုမှာ ကျွန်ုပ်တို့၏ if သို့ else ထည့်ရန်ဖြစ်သည်။ ဤနည်းဖြင့် '---' သည် 3 မဟုတ်သော element အားလုံးတွင် ထွက်ပေါ်လာလိမ့်မည်။

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  foreach ($arr as $elem) {
    if ($elem === 3) {
      echo '+++'; // element 3 တွင် ထွက်ပေါ်လာမည်
    } else {
      echo '---'; // element 1, 2, 4, 5 များတွင် ထွက်ပေါ်လာမည်
    }
  }
?>

ထို့ကြောင့်၊ else ထည့်ရန် စိတ်ကူးသည် မကောင်းသော စိတ်ကူးဖြစ်ပြီး အလုပ်မဖြစ်ပါ။ ဤကဲ့သို့သော အမျိုးအစားများ (ထိုကဲ့သို့သော ပြဿနာများကို အတော်လေး မကြာခဏ ကြုံတွေ့ရသည်) အတွက် ဆိုထားသော အလံများကို အသုံးပြုကြသည်။

အထက်တွင် ဖော်ပြခဲ့သည့်အတိုင်း၊ အလံဆိုသည်မှာ ဤကဲ့သို့သော ကိန်းရှင်တစ်ခုဖြစ်ပြီး ၎င်းသည် တန်ဖိုးနှစ်ခုကို လက်ခံနိုင်သည်။ true သို့မဟုတ် false။

ထို့ကြောင့်၊ flag ဟူသော ကိန်းရှင်ကို လုပ်ဆောင်ကြပါစို့။ ဤကဲ့သို့သော တန်ဖိုးဖြင့် - ၎င်းသည် true နှင့် ညီလျှင်၊ array တွင် element 3 ရှိသည်၊ သို့သော် false ဖြစ်လျှင်၊ ထိုကဲ့သို့သော element မရှိပါ။

ကနဦးတွင် flag ကိန်းရှင်ကို တန်ဖိုး false သို့ သတ်မှတ်ပါမည် - ဆိုလိုသည်မှာ၊ array တွင် element 3 မရှိဟု ယူဆမည်။

javascript$arr = [1, 2, 3, 4, 5];
$flag = false; // array တွင် element 3 မရှိဟု ယူဆပါ

ထို့နောက် ကျွန်ုပ်တို့ ယခင်က လုပ်ခဲ့သကဲ့သို့ if ဖြင့် loop ကို စတင်ပါမည်။ loop က array တွင် element 3 ရှိကြောင်း သိရှိပါက၊ flag ကိန်းရှင်ကို တန်ဖိုး true သို့ သတ်မှတ်ပြီး break ကို အသုံးပြု၍ loop မှ ထွက်ခွာမည်။

php<?php
  $arr = [1, 2, 3, 4, 5];
  $flag = false; // array တွင် element 3 မရှိဟု ယူဆပါ
  
  foreach ($arr as $elem) {
    if ($elem === 3) {
      $flag = true; // element ရှိသည် - $flag ကိန်းရှင်ကို ပြန်သတ်မှတ်ပါ
      break; // loop မှ ထွက်ခွာမည်
    }
  }
?>

Array တွင် 3 ရှိမရှိ မေးခွန်းအတွက် အဖြေကို loop ပြီးမှသာ ပေးနိုင်သည်။ ထိုအဖြေကို ကျွန်ုပ်တို့ ရှိပြီးဖြစ်သည် - loop ပြီးနောက် flag ကိန်းရှင်သည် false အတိုင်း ကျန်ရစ်နိုင်သည် သို့မဟုတ် loop က array တွင် 3 ကို သိရှိပါက ၎င်း၏တန်ဖိုးကို true သို့ ပြောင်းလဲနိုင်သည်။

php<?php
  $arr = [1, 2, 3, 4, 5];
  $flag = false;
  
  foreach ($arr as $elem) {
    if ($elem === 3) {
      $flag = true;
      break;
    }
  }
  
  // ဤနေရာတွင် $flag ကိန်းရှင်သည် true သို့မဟုတ် false နှင့် ညီသည်
?>

ယခု loop ပြီးနောက်၊ flag ကိန်းရှင်ကို ကြည့်ရှုမည့် if ကို လုပ်ဆောင်နိုင်ပြီး စခရင်ပေါ်တွင် '+++' သို့မဟုတ် '---' ကို ထုတ်ပြနိုင်သည်။

php<?php
  $arr = [1, 2, 3, 4, 5];
  $flag = false;
  
  foreach ($arr as $elem) {
    if ($elem === 3) {
      $flag = true;
      break;
    }
  }
  
  if ($flag === true) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 1

Array ကို ပေးထားသည်။

php<?php
  $arr = ['a', 'b', 'c', 'd', 'e'];
?>

ဤ array တွင် element 'c' ရှိမရှိ စစ်ဆေးပါ။ ရှိလျှင် - '+++' ကို ထုတ်ပြပါ။ မရှိလျှင် - '---' ကို ထုတ်ပြပါ။

Задание 2

ဂဏန်းတစ်ခုသည် သဘာဝနံပါတ် (Prime number) ဖြစ်မဖြစ် စစ်ဆေးမည့် ကုဒ်ကို ရေးပါ။ သဘာဝနံပါတ်သည် တစ်နှင့် ၎င်းကိုယ်တိုင်နှင့်သာ စားလို့ပြီးပြီး အခြားဂဏန်းများဖြင့် စားလို့မပြီးပါ။