PHP တွင် floating point နံပါတ်များကို processing လုပ်သည့်အခါ is_infinite () သည် variable ကိုအဆုံးမဲ့ဟုတ်မဟုတ်ဆုံးဖြတ်ရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ Floating-point နံပါတ်များ၏အရည်အသွေးများ၏ဂုဏ်သတ္တိများနှင့် PHP စနစ်အချည်းနှီးသောအမျိုးအစားများကြောင့် Semantics ကိုယ်တိုင်လည်း Semantics ဖြစ်သည်။ ဤဆောင်းပါးသည် is_infinite () ကို အသုံးပြု. floating-point တန်ဖိုးများကိုအကဲဖြတ်သောအခါဤပြ problems နာများကိုရှောင်ရှားရန်နှင့်လက်တွေ့ကျသောအကြံပြုချက်များကိုလေ့လာသည့်အခါဤဆောင်းပါးသည်သာမန်ညညဉ့်များကိုစူးစမ်းလေ့လာပါမည်။
များသောအားဖြင့်အဆုံးမဲ့တန်ဖိုးများသည်များသောအားဖြင့်အောက်ပါအခြေအနေများတွင်ပေါ်လာသည်။
တရားမဝင်သုည - ခွဲခွဲစိတ်ခြင်း (ဥပမာ 1.0 / 0.0 )
Exponential exponential exponential expnialial explainion's ( ဥပမာ - 10000) )
အခြားဘာသာစကားများသို့မဟုတ်စနစ်များတွင်တင်သွင်းသောအချက်အလက်များသည်အဆုံးမဲ့တန်ဖိုးများ (JSON, API ပြန်လာ)
ဤအမှုများသည် PHP တွင်အဆုံးမဲ့ဟုသတ်မှတ်ထားသည့် inf or -inf တန်ဖိုးများကိုထုတ်လုပ်နိုင်ပြီး is_infinite () ဖြင့်ဖော်ထုတ်နိုင်သည်။
$val = 1.0 / 0.0;
if (is_infinite($val)) {
echo "တန်ဖိုးသည်အတိုင်းထက်အလွန်ကြီးမားသည်";
}
developer များစွာသည်နောက်ဆုံးရလဒ်တွင် IS_INFINITITIEN () ကို သာခေါ်ဆိုသော်လည်းအလယ်အလတ်အဆင့်များ၏တွက်ချက်မှုရလဒ်များကိုလျစ်လျူရှုပါကအဆုံးမဲ့ဖြစ်နိုင်သည်။ ဥပမာအားဖြင့်:
$a = 1e308;
$b = 1e308;
$c = $a * $b;
if (!is_infinite($c)) {
echo "ကွန်ပျူတာလုံခြုံရေး";
} else {
echo "လျှံဖြစ်ပွားခဲ့သည်";
}
အထက်ဖော်ပြပါကုဒ်များတွင် $ a နှင့် $ ခများ ကိုယ်တိုင်သည်တရား 0 င်နေလျှင်ပင် $ a * $ B ရလဒ်သည် inf ကို ကူးစက်လိမ့်မည်။ ထို့ကြောင့်, နောက်ဆုံးရလဒ်ကိုကြည့်ခြင်းထက်စစ်ဆေးမှုများကိုဝေဖန်တွက်ချက်မှုအဆင့်များတွင်စစ်ဆေးမှုများကိုဖြည့်စွက်သင့်သည်။
ပြင်ပ APIS သို့မဟုတ် JSONS သို့မဟုတ် JSONS မှ floating points များကို processing လုပ်သည့်အခါ inf or -inf ပါ 0 င်သည့်အချက်အလက်များကိုတွေ့နိုင်သည်။ PHP ၏ JSONS_COCDEDDode () နှင့် JSONS_Decode () () သည် ဤတန်ဖိုးများကိုမှန်ကန်စွာကိုင်တွယ်။ မရပါ။
$data = ['value' => INF];
$json = json_encode($data);
// ပြန်လာ false,အကေြာင်းမှာ INF တရားမဝင်ပါ JSON အဘိုး
ဤသို့သောအခြေအနေမျိုးကိုကိုင်တွယ်ရန် filtering Logic ကိုစိတ်ကြိုက်ပြုလုပ်နိုင်သည်။
function safe_json_encode($data) {
array_walk_recursive($data, function (&$item) {
if (is_infinite($item)) {
$item = ($item > 0) ? 'INF' : '-INF';
}
});
return json_encode($data);
}
ပြင်ပအရင်းအမြစ်ကိုမဖတ်မီစစ်ဆေးပါ။
$json = file_get_contents('https://gitbox.net/api/data');
$data = json_decode($json, true);
if (is_infinite($data['value'])) {
// အမှားကိုင်တွယ်ပါ
}
သင်၌ခင်းကျင်းမှုကိုအဆုံးမဲ့တန်ဖိုးများဖြင့်ရွေးချယ်ခြင်းသို့မဟုတ်နှိုင်းယှဉ်သောအခါယုတ္တိရှိသောအမှားတစ်ခုကိုသင်တွေ့ကြုံခံစားနိုင်သည်။ ဥပမာအားဖြင့်:
$values = [1.5, INF, 3.0];
sort($values);
အောက်ပါဆုံးဖြတ်ချက်တွင်စီးပွားရေးယုတ္တိဗေဒတွင်ဖြစ်ပေါ်နေပါက Inf သည် မှန်ကန်စွာအဆင့်အတန်းမှန်ကန်စွာအဆင့်သတ်မှတ်လိမ့်မည်ဖြစ်သော်လည်း
if ($values[2] > 1000000) {
// ဒါတကယ်ကိုအကွာအဝေးထဲကဆိုလို?
}
ဤကိစ္စတွင်, ၎င်းသည်သတ်မှတ်ထားသောတံခါးခုံများနှင့်နှိုင်းယှဉ်မည့်အစား၎င်းသည်အဆုံးမဲ့ဟုတ်မဟုတ်ဆုံးဖြတ်သင့်သည်။
အဓိကစစ်ဆင်ရေးများတွင်ရှင်းလင်းပြတ်သားစွာစစ်ဆေးပါ။ အလွန်အမင်း တန်ဖိုးများကိုဖြစ်ပေါ်စေနိုင်သောတွက်ချက်မှုများအားလုံးကိုခေါ်ဆိုပါ။
ပြင်ပဒေတာသန့်ရှင်းရေး - preprocess point input တန်ဖိုးများအားလုံး, infocess ကို ဖယ်ရှားပါသို့မဟုတ်၎င်းတို့ကိုစီးပွားရေးလက်ခံနိုင်သောအများဆုံးတန်ဖိုးနှင့်အစားထိုးပါ။
EncapsulationSulation Check function: unified floating-point value valfification method ကိုတည်ဆောက်ပါ။
function is_valid_float($val) {
return is_float($val) && !is_nan($val) && !is_infinite($val);
}
ရလဒ်များအပေါ်စီးပွားရေးကန့်သတ်ချက်များကိုသတ်မှတ်ပါ။ ဥပမာအားဖြင့်စျေးနှုန်းနှင့်ပမာဏကဲ့သို့သော floating point တန်ဖိုးများကိုကျိုးကြောင်းဆီလျော်သောအကွာအဝေးအထိကန့်သတ်ထားသည်။
if ($amount > 1e12 || is_infinite($amount)) {
throw new Exception("မမှန်ကန်သောပမာဏ");
}
PHP တွင် is_infinite () ကို အသုံးပြုခြင်းသည်ရိုးရှင်းသည်ဟုထင်ရသော်လည်း၎င်းနောက်ကွယ်တွင် floating point တိကျမှန်ကန်မှု, floating-point ယုတ္တိဗေဒဒီဇိုင်းရေးဆွဲရာတွင် developer များက 0 န်းကျင်ဆိုင်ရာစစ်ဆေးခြင်းနှင့်ဒေတာစစ်ဆေးမှုများကို အသုံးပြု. Runtime အတွင်း၌ကြိုတင်ခန့်မှန်းရခက်သည့်အပြုအမူသို့မဟုတ်လုံခြုံရေးအန္တရာယ်များကိုထိရောက်စွာအသုံးချသည့်နယ်နိမိတ်စစ်ဆေးခြင်းနှင့်ဒေတာစစ်ဆေးခြင်းကိုအသုံးပြုသည်။ Floating Poinflfor ကိုမှန်ကန်စွာဖော်ထုတ်ခြင်းနှင့်ပြုပြင်ခြင်းအားဖြင့်စနစ်၏ကြံ့ခိုင်မှုနှင့်တည်ငြိမ်မှုကိုများစွာတိုးတက်စေနိုင်သည်။