PHP တွင် break ၏ မလိုအပ်မှု

break command သည် မဖြစ်မနေ ထည့်ရန်မလိုအပ်ပါ။ သို့သော် ၎င်းမပါရှိပါက case blocks ၏ အပြုအမူသည် မမျှော်လင့်ထားသောပုံစံဖြစ်လာမည်။ ဥပမာတစ်ခုဖြင့် ကြည့်ရအောင်။ ကျွန်ုပ်တို့တွင် အောက်ပါကုဒ်ရှိသည်ဆိုပါစို့။

php<?php
  $num = 1;
  
  switch ($num) {
    case 1:
      echo 1;
    break;
    case 2:
      echo 2;
    break;
    case 3:
      echo 3;
    break;
  }
?>

၎င်းထဲမှ break အားလုံးကို ဖယ်ရှားပါမည်။ $num variable ထဲတွင် အစက 3 ကိန်းကို ရေးထည့်ကြပါစို့။

အစပိုင်းတွင် အားလုံးသည် ယခင်အတိုင်း အလုပ်လုပ်နေမည်။

php<?php
  $num = 3; // ဤနေရာတွင် ဂဏန်း 3 ရှိသည်ဆိုပါစို့
  
  switch ($num) {
    case 1:
      echo 1;
    case 2:
      echo 2;
    case 3:
      echo 3;
  }
  
  // Run ပြီးနောက် ကုဒ်သည် 3 ကို output ပေးမည် - အားလုံးကောင်းပါသည်
?>

ယခု $num variable ထဲသို့ 2 ကိန်းကို ရေးထည့်ကြည့်ပါစို့။ ဤကိစ္စတွင် ကျွန်ုပ်တို့ case 2 ကို မျှော်လင့်ထားသည့်အတိုင်း execute လုပ်မည်၊ ထို့နောက် case 3 ကိုပါ အမှတ်မထင် execute လုပ်မည်။

php<?php
  $num = 2;
  
  switch ($num) {
    case 1:
      echo 1;
    case 2:
      echo 2;
    case 3:
      echo 3;
  }
  
  // Run ပြီးနောက် ကုဒ်သည် 2၊ ထို့နောက် 3 ကို output ပေးမည်
?>

အကယ်၍ $num variable ထဲသို့ 1 ကိန်းကို ရေးထည့်ပါက၊ case တည်ဆောက်မှုအားလုံး execute လုပ်သွားမည်။

php<?php
  $num = 1;
  
  switch ($num) {
    case 1:
      echo 1;
    case 2:
      echo 2;
    case 3:
      echo 3;
  }
  
  // Run ပြီးနောက် ကုဒ်သည် 1၊ ထို့နောက် 2၊ ထို့နောက် 3 ကို output ပေးမည်
?>

ဆိုလိုသည်မှာ break မရှိပါက၊ ရည်ရွယ်ထားသော case လုပ်ဆောင်ပြီးနောက်၊ ၎င်းအောက်ရှိ case အားလုံးလည်း လုပ်ဆောင်သွားမည်ဖြစ်သည်။ တစ်ခါတစ်ရံ ဤထူးခြားချက်ကို ပြဿနာများဖြေရှင်းရာတွင် အသုံးပြုကြသည်။

အောက်ပါဥပမာတွင်၊ $num variable သည် 1 သို့မဟုတ် 2 တန်ဖိုးရှိပါက၊ $res variable ထဲသို့ 'a' ကို ရေးထည့်မည်။ အကယ်၍ $num variable သည် 3 တန်ဖိုးရှိပါက၊ $res variable ထဲသို့ 'b' ကို ရေးထည့်မည်။

php<?php
  $num = 1;
  
  switch ($num) {
    case 1:
    case 2:
      $res = 'a';
    break;
    case 3:
      $res = 'b';
    break;
  }
  
  echo $res;
?>

အထက်တွင်ကျွန်ုပ် ရေးသားခဲ့သည်မှာ တစ်ခါတစ်ရံဤထူးခြားချက်ကို အသုံးပြုကြသည်၊ သို့သော် ယေဘုယျအားဖြင့် ၎င်းကို အသုံးပြုရန် အကြံမပြုလိုပါ၊ အဘယ်ကြောင့်ဆိုသော် ကုဒ်သည် သိသိသာသာ မရှင်းလင်းတော့သောကြောင့်ဖြစ်သည်။

ထိုကဲ့သို့သော တာဝန်ကို if များဖြင့် ဖြေရှင်းခြင်းသည် ပို၍ရှင်းလင်းသည်။

php<?php
  $num = 1;
  
  if ($num == 1 or $num == 2) {
    $res = 'a';
  }
  
  if ($num == 3) {
    $res = 'b';
  }
  
  echo $res;
?>