PHP တွင် BCSQRT function ကို BC သင်္ချာ extension နှင့်သက်ဆိုင်သောမတရားတိရိနံပါတ်၏စတုရန်းရင်းမြစ်ကိုတွက်ချက်ရန်အသုံးပြုသည်။ အသုံးပြုသောအခါဝင်လာသော parameters များသည်လိုအပ်ချက်များကိုမဖြည့်ဆည်းပါက "Non Non-Non-Non-Non-Non-Non-Non-Non-Report" အမှားများကိုမကြာခဏကြုံတွေ့ရလိမ့်မည်။ ဤဆောင်းပါးသည်ဤအမှား၏အကြောင်းရင်းများကိုအသေးစိတ်ခွဲခြမ်းစိတ်ဖြာပြီးသက်ဆိုင်ရာဖြေရှင်းနည်းများကိုပေးလိမ့်မည်။
BCSQRT (string $ num, int $ စကေး = 0): string ကို
$ Num : 0 င်ရောက်လာသည့်ကြိုး string သည်အနုတ်လက်ခဏာမဟုတ်သောဂဏန်းကြိုး (ကြီးမားသောနံပါတ်များနှင့်ဒ dec မကိန်းများကိုထောက်ပံ့သည်) ဖြစ်ရမည်။
$ စကေး - ရလဒ်အနေဖြင့်ထိန်းသိမ်းထားသောဒ decimal မနေရာအရေအတွက်သည် 0 င်ဖြစ်သည်။
ဤလုပ်ဆောင်မှုသည် parameter $ num ၏နှစ်ထပ်ကိန်းရင်းကိုပြန်လည်ရောက်ရှိစေပြီးရလဒ်မှာလည်း string format နှင့်လည်းဖြစ်သည်။
input parameter သည်စင်ကြယ်သောဂဏန်း string ကိုမဟုတ်ပါဘူး
BCSQRT သည်ပထမ ဦး ဆုံး parameter သည်အနုတ်လက်ခဏာမဟုတ်သောနံပါတ်တစ်ကိုကိုယ်စားပြုကြောင်းနှင့်ဂဏန်းမဟုတ်သောဇာတ်ကောင် (ဒ decimal မအချက် မှလွဲ. ) မဆံ့နိုင်ပါ။ အကယ်. ဖြတ်သန်းသွားသော parameters များသည်အက္ခရာများပါ 0 င်ပါက (အနုတ်လက်ခဏာနိမိတ်လက္ခဏာများ မှလွဲ. ), နေရာများ,
အနုတ်လက်ခဏာနံပါတ်များအတွက် pass
parameter သည် string ကိုတစ် ဦး string ကိုဖြစ်ပေမယ့်နံပါတ်အနုတ်လက်ခဏာရှိလျှင် (ဥပမာ, -9 ' ) သည်စတုရန်း root ကိုမတွက်နိုင်ပါက function ကိုဖော်ပြခြင်းမရှိပါ။
အချည်းနှီးသော string ကိုသို့မဟုတ် null
အချည်းနှီးသော string ကိုဖြတ်သန်းခြင်း '' သို့မဟုတ် NULL ကို တရားမ 0 င်ထည့်သွင်းစဉ်းစားပြီးအမှားတစ်ခုဖြစ်ပေါ်စေသည်။
မလျော်ကန်သောဒီဂျစ်တယ်ပုံစံ
ထိုနံပါတ်များတွင်ဒ decimal မအချက်များများစွာပါ 0 င်သည်။
input ကိုအတည်ပြုရန်ပုံမှန်အသုံးအနှုန်းများသို့မဟုတ် PHP built-in function များကိုသုံးပါ။
<?php
function isValidNumber($num) {
return preg_match('/^\d+(\.\d+)?$/', $num);
}
$input = "123.45";
if (!isValidNumber($input)) {
echo "အဆိုပါ input ကိုတရားဝင်နံပါတ် format ကိုမဟုတ်ပါဘူး";
} else {
echo bcsqrt($input, 2);
}
?>
အကယ်. input တွင်အနုတ်လက်ခဏာနိမိတ်လက်ခဏာရှိနိုင်ပါကသင်ခေါ်ဆိုခြင်းမပြုမီဆုံးဖြတ်ချက်ချရန်လိုအပ်သည်။
<?php
$input = "-9";
if (strpos($input, '-') === 0) {
echo "အနုတ်လက်ခဏာနံပါတ်၏စတုရန်းအမြစ်ကိုတွက်ချက်လို့မရပါဘူး";
} else {
echo bcsqrt($input, 2);
}
?>
ပြင်ပရင်းမြစ်များမှရရှိသောနံပါတ်များအတွက် (URL parameters များသည် URL parameters များကဲ့သို့သောအချက်အလက်များ) ကိုသန့်ရှင်းရေးနှင့်ပြောင်းလဲခြင်းသည်အကောင်းဆုံးဖြစ်သည်။
<?php
$input = trim($_GET['num'] ?? '');
if ($input === '' || !is_numeric($input) || floatval($input) < 0) {
echo "input အတွက်အမှား,Non- အနုတ်လက်ခဏာဖြစ်ရမည်";
} else {
$numStr = (string)floatval($input);
echo bcsqrt($numStr, 4);
}
?>
<?php
bcscale(4);
echo bcsqrt('16');
?>
ဤနည်းအားဖြင့် output ရလဒ်သည်ဒ decimal မနေရာ 4 ခုကိုအလိုအလျောက်ထိန်းသိမ်းလိမ့်မည်။
စတုရန်းအမြစ်ကိုတွက်ချက်ရန် URL parameters များကိုလက်ခံသည့် PHP စာမျက်နှာတစ်ခုရှိသည် ။
<?php
// ဥပမာ link: https://gitbox.net/calc.php?num=25
$num = trim($_GET['num'] ?? '');
if ($num === '' || !preg_match('/^\d+(\.\d+)?$/', $num)) {
echo "ကျေးဇူးပြု. မှန်ကန်သော Non-Underne Number ကိုရိုက်ထည့်ပါ!";
exit;
}
$result = bcsqrt($num, 3);
echo "ဂဏန်း {$num} စတုရန်းအမြစ်သည်:{$result}";
?>
လာရောက်တဲ့အခါ
https://gitbox.net/calc.php?num=25
ထုတ်လုပ်မှု -
ဂဏန်း 25 စတုရန်းအမြစ်သည်:5.000
BCSQRT function သည်အနုတ်လက်ခဏာမဟုတ်သော,
"Non-Non-Non-Non-Non-Non-Noner" အမှားအယွင်းများသည် input format အရာအများစုသည်လိုအပ်ချက်များနှင့်မကိုက်ညီပါ။
အမှားအယွင်းများကို input အတည်ပြုခြင်း, အချက်အလက်သန့်ရှင်းရေးနှင့် parameter တိုင်းဆုံးဖြတ်ချက်ဖြင့်ရှောင်ရှားနိုင်သည်။
အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်အထူးစီးပွားရေးမြင်ကွင်းဒီဇိုင်းအပေါ် အခြေခံ. input processing local Logic ကိုထည့်သွင်းသင့်သည်။
ဤအချက်များကိုနားလည်ခြင်းသည် BCSQRT function ၏ "ဂဏန်းမဟုတ်သော" အမှားကိုထိရောက်စွာဖြေရှင်းနိုင်ပြီးအစီအစဉ်၏တည်ငြိမ်မှုကိုသေချာစွာဖြေရှင်းနိုင်သည်။