PHP တွင် အခြေအနေများအတွက် ကွင်းကွက်များ မဖြစ်မနေရှိရန် လိုအပ်ချက် ပြဿနာ
PHP သည် ကွင်းကွက်များနှင့် ပတ်သက်သည့် အထက်ပါ အတိုကောက်ပုံစံများကို ခွင့်ပြုထားသော်လည်း၊ ယေဘုယျအားဖြင့် ဤသို့ပြုလုပ်ရန် ကျွန်ုပ် အကြံမပြုလိုပါ။ ဘာကြောင့်ဆိုသော် ထိုသို့ပြုလုပ်ခြင်းသည် ရှာဖွေရခက်သည့် အမှားများ ဖြစ်ပေါ်စေသော အကြောင်းရင်းတစ်ခု ဖြစ်နိုင်သောကြောင့် ဖြစ်သည်။
ဥပမာအနေဖြင့် အောက်ပါကုဒ်ကို စဉ်းစားကြည့်ပါ။
<?php
$test = 3;
if ($test > 0)
echo $test;
?>
ယခု စဉ်းစားကြည့်ပါ၊ အကယ်၍ အခြေအနေမှန်ကန်ပါက ဒုတိယ
echo ထုတ်ပြန်မှုတစ်ခုကို ထပ်မံပြုလုပ်လိုသည်ဟု ဆုံးဖြတ်လိုက်သည်။
<?php
$test = 3;
if ($test > 0)
echo $test;
echo '+++';
?>
သို့သော်၊ ကွင်းကွက်များမပါဘဲ ဆိုပါက အခြေအနေအောက်တွင် ပထမဆုံး ထုတ်ပြန်မှုသာ ပါဝင်သည်။ ဆိုလိုသည်မှာ ပထမ ထုတ်ပြန်မှုသည် အခြေအနေမှန်ကန်သည့်အခါတွင်သာ အလုပ်လုပ်ပြီး၊ ဒုတိယထုတ်ပြန်မှုမှာ အမြဲတမ်းအလုပ်လုပ်နေမည် ဖြစ်သည်။
တကယ်တော့ ကျွန်ုပ်တို့၏ကုဒ်သည် အောက်ပါကုဒ်နှင့် ညီမျှသည်။
<?php
$test = 3;
if ($test > 0) {
echo $test;
}
echo '+++'; // ဤစာကြောင်းသည် အခြေအနေပြင်ပတွင် ရှိနေသည်
?>
ကျွန်ုပ်တို့ ရည်ရွယ်ချက်မှာ အောက်ပါကုဒ်ဖြစ်ပါသည်။
<?php
$test = 3;
if ($test > 0) {
echo $test;
echo '+++'; // ဤစာကြောင်းသည် အခြေအနေအတွင်းတွင် ရှိသည်
}
?>
ထို့ကြောင့် ဤကဲ့သို့သော အမှားမျိုးမှ ရှောင်ရှားနိုင်ရန်အတွက် ကွင်းကွက်များကို အမြဲတမ်း အပြည့်အစုံ ထည့်သွင်းရေးသားရန် အကြံပြုအပ်ပါသည်။
ကုဒ်ကို မလည်ပတ်ဘဲ၊ မျက်နှာပြင်ပေါ်တွင် မည်သည်ကို ထုတ်ပြန်မည်ကို ဆုံးဖြတ်ပါ။
<?php
$num = 5;
if ($num === 5)
echo $num;
echo '+++';
?>
ကုဒ်ကို မလည်ပတ်ဘဲ၊ မျက်နှာပြင်ပေါ်တွင် မည်သည်ကို ထုတ်ပြန်မည်ကို ဆုံးဖြတ်ပါ။
<?php
$num = 0;
if ($num === 5)
echo $num;
echo '+++';
?>
ကုဒ်ကို မလည်ပတ်ဘဲ၊ မျက်နှာပြင်ပေါ်တွင် မည်သည်ကို ထုတ်ပြန်မည်ကို ဆုံးဖြတ်ပါ။
<?php
$num = 0;
if ($num === 5)
echo $num;
echo '---';
echo '+++';
?>