Asin () function ၏သင်္ချာနိယာမသည် -1 နှင့် 1 အကြားရှိတန်ဖိုးများကိုသာလက်ခံသည်ကိုဆုံးဖြတ်သည်။ အကယ်. input value သည် -1 ထက်နည်းသည်သို့မဟုတ် 1 ထက်ငယ်သည်ဆိုပါက PHP သည် Nan KN သို့ပြန်သွားသည်။ ထို့ကြောင့် Asin () function ကိုမခေါ်မီ input parameterster များသည်တရားဝင်ဖြစ်ကြောင်းသေချာအောင်လုပ်ပါ, ၎င်းသည်များသောအားဖြင့် input value သည်တရားဝင်အကွာအဝေးအတွင်း၌ဖြစ်သည်။
<span><span><span class="hljs-variable">$value</span></span><span> = </span><span><span class="hljs-number">1.2</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$value</span></span><span> < -</span><span><span class="hljs-number">1</span></span><span> || </span><span><span class="hljs-variable">$value</span></span><span> > </span><span><span class="hljs-number">1</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"input ကိုတန်ဖိုးကိုတရားဝင်အကွာအဝေးပြင်ပမှာဖြစ်ပါတယ်!"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">asin</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>);
}
</span></span>
ဤစစ်ဆေးမှုသည် asin () function ကိုတိုက်ရိုက်တရားမဝင်တန်ဖိုးများကိုတိုက်ရိုက်ဖြတ်သန်းခြင်းကိုရှောင်ရှားနိုင်သည်။
PHP ရှိ Floating Point နံပါတ်များသည်တစ်ခါတစ်ရံတိကျသောပြ problems နာများကြောင့်အထူးသဖြင့် floating point နံပါတ်များကိုနှိုင်းယှဉ်လျှင်။ အချို့ဖြစ်ရပ်များတွင်တွက်ချက်မှုရလဒ်များသည်အနည်းငယ်အမှားအယွင်းများရှိနိုင်သည်, အတွင်းပိုင်းအကွာအဝေးတစ်ခုဖြစ်လာစေရန်အတွက်တရား 0 င်အကွာအဝေးအတွင်းရှိတန်ဖိုးရှိသည့်တန်ဖိုးကိုဖြစ်စေသည်။
ဥပမာအားဖြင့်အောက်ပါကုဒ်ကိုစဉ်းစားပါ။
<span><span><span class="hljs-variable">$value</span></span><span> = </span><span><span class="hljs-number">1</span></span><span> + </span><span><span class="hljs-number">1e-15</span></span><span>; </span><span><span class="hljs-comment">// floating တိကျမှန်ကန်မှုကြောင့်,ဖြစ်ကောင်းပို 1</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">asin</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>);
</span></span>
1 + 1E-15 သည်တရားဝင်တန်ဖိုးတစ်ခုဖြစ်ပုံရသော်လည်း၎င်းသည် floating တိကျမှန်ကန်မှုကို သွဇာ လွှမ်းမိုးမှုကြောင့်အမှန်တကယ်အကွာအဝေးထက်ကျော်လွန်နိုင်သည် ။
ဤပြ problem နာအတွက်အဖြေမှာသင့်တော်သောတိကျမှန်ကန်မှုအကွာအဝေးကိုသတ်မှတ်ခြင်းသို့မဟုတ် ပတ် 0 န်းကျင် () function ကိုအသုံးပြုခြင်းအားဖြင့်ဤတိကျမှန်ကန်မှုကိုရှောင်ရှားရန်ဖြစ်သည်။
<span><span><span class="hljs-variable">$value</span></span><span> = </span><span><span class="hljs-title function_ invoke__">round</span></span><span>(</span><span><span class="hljs-number">1</span></span><span> + </span><span><span class="hljs-number">1e-15</span></span><span>, </span><span><span class="hljs-number">15</span></span><span>); </span><span><span class="hljs-comment">// တိကျမှန်ကန်မှုအကွာအဝေးထက်ကျော်လွန်မထားဘူးသေချာပါစေ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">asin</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>);
</span></span>
အကယ်. သင်သည် Asin () ကို ပိုမိုရှုပ်ထွေးသောပရိုဂရမ်တစ်ခုတွင်အသုံးပြုပါက နင်ကို ပြန်ပို့ပါက, Asin () function သို့ pass input value ကိုမှတ်တမ်းတင်ခြင်းအားဖြင့်အမှားတစ်ခုချင်းစီ၏ rout ၏အမြစ်အကြောင်းအရင်းကိုပိုမိုလွယ်ကူစွာခြေရာခံနိုင်သည်။
<span><span><span class="hljs-variable">$value</span></span><span> = </span><span><span class="hljs-number">1.2</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$value</span></span><span> < -</span><span><span class="hljs-number">1</span></span><span> || </span><span><span class="hljs-variable">$value</span></span><span> > </span><span><span class="hljs-number">1</span></span><span>) {
</span><span><span class="hljs-title function_ invoke__">error_log</span></span><span>(</span><span><span class="hljs-string">"asin input ကိုတန်ဖိုးအကွာအဝေးထဲကဖြစ်ပါတယ်: <span class="hljs-subst">$value</span></span></span><span>");
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">asin</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>);
}
</span></span>
မှတ်တမ်းများအထူးသဖြင့်အသုံးပြုသူ input ကိုပြုပြင်သည့်အခါပြင်ပဒေတာအရင်းအမြစ်များမှအချက်အလက်များလက်ခံရရှိသည့်အခါအထူးသဖြင့် input input များကိုလျင်မြန်စွာရှာဖွေရန်ကူညီနိုင်သည်။
အကယ်. Asin () function ကို function သည်ပြင်ပဒေတာအရင်းအမြစ် (ဥပမာဒေတာဘေ့စ်, api or user input) မှလာသည်။ ဤအချက်အလက်များ၏မှန်ကန်မှုကိုသေချာစေရန်လိုအပ်သည်။ တစ်ခါတစ်ရံပြင်ပဒေတာအရင်းအမြစ်များတွင်မမှန်ကန်သောတန်ဖိုးများပါ 0 င်ပြီး Asin () ကို KNAN သို့ပြန်သွားသည်။
ဥပမာအားဖြင့်, ဒေတာဘေ့စ်မှဒေတာများကိုရယူသည့်အခါတွက်ချက်မှုကိုပျက်ကွက်စေသည့်တရားမ 0 င်တန်ဖိုးတစ်ခုဖြစ်နိုင်သည်။
<span><span><span class="hljs-variable">$query</span></span><span> = </span><span><span class="hljs-string">"SELECT value FROM table WHERE id = 1"</span></span><span>;
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysqli_query</span></span><span>(</span><span><span class="hljs-variable">$conn</span></span><span>, </span><span><span class="hljs-variable">$query</span></span><span>);
</span><span><span class="hljs-variable">$row</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysqli_fetch_assoc</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
</span><span><span class="hljs-variable">$value</span></span><span> = </span><span><span class="hljs-variable">$row</span></span><span>[</span><span><span class="hljs-string">'value'</span></span><span>];
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$value</span></span><span> < -</span><span><span class="hljs-number">1</span></span><span> || </span><span><span class="hljs-variable">$value</span></span><span> > </span><span><span class="hljs-number">1</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဒေတာဘေ့စ်မှပြန်လာသောတန်ဖိုးသည်မမှန်ကန်ပါ: <span class="hljs-subst">$value</span></span></span><span>";
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">asin</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>);
}
</span></span>
ယခုအချိန်တွင်သင်သည်ပြင်ပ input ကိုစနစ်တကျစစ်ဆေးပြီးလုံခြုံစွာပြန်ပို့ခြင်းပြ the နာကိုထိရောက်စွာရှောင်ရှားနိုင်အောင်သေချာစွာစစ်ဆေးပါ။
ရှုပ်ထွေးသောပရိုဂရမ်များပိုမိုများပြားသောကြောင့်၎င်းသည် input တန်ဖိုးများကိုတိုက်ရိုက်စစ်ဆေးမည့်အစား Nane ပြန်လာတန်ဖိုးများကိုပိုမိုကောင်းမွန်သောကြိုးကိုလက်ကိုင်ချရန်နှစ်လိုဖွယ်ရှိသည်။ ဤကိစ္စတွင် PHP ၏ခြွင်းချက်ကိုင်တွယ်သည့်ယန္တရားကို Nan ပြန်လာသောအခြေအနေကိုဖမ်းယူရန်နှင့်ကိုင်တွယ်ရန်အသုံးပြုနိုင်သည်။
<span><span><span class="hljs-keyword">try</span></span><span> {
</span><span><span class="hljs-variable">$value</span></span><span> = </span><span><span class="hljs-number">1.5</span></span><span>;
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">asin</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_nan</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>)) {
</span><span><span class="hljs-keyword">throw</span></span><span> </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-built_in">Exception</span></span><span>(</span><span><span class="hljs-string">"တွက်ချက်မှုရလဒ်ဖြစ်ပါတယ် NaN,မမှန်ကန်သော input ကိုတန်ဖိုး"</span></span><span>);
}
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$result</span></span><span>;
} </span><span><span class="hljs-keyword">catch</span></span><span> (</span><span><span class="hljs-built_in">Exception</span></span><span> </span><span><span class="hljs-variable">$e</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'Error: '</span></span><span> . </span><span><span class="hljs-variable">$e</span></span><span>-></span><span><span class="hljs-title function_ invoke__">getMessage</span></span><span>();
}
</span></span>
နဂို၏တိုက်ရိုက်တိုက်မိမှုကိုရှောင်ရှားခြင်း, Nan ဖော်ထုတ်မှုများမှနစ်မြုပ်ခြင်းကိုခြွင်းချက်ကိုင်တွယ်ခြင်းဖြင့်အမှားအယွင်းများကိုဖမ်းယူ။ မှတ်တမ်းတင်နိုင်သည်။
Asin () function ကိုအသုံးပြုသောအခါပြန်လာသော နန် ၏ပြ problem နာကိုများသောအားဖြင့်မမှန်ကန်တဲ့ input တန်ဖိုးကိုလွန်စွာကူးစက်ခံရလေ့ရှိသည်။ ဤတွင်အကောင်းဆုံးအလေ့အကျင့်အချို့ကိုဤတွင်ရှိသည်။
Input Range ကိုစစ်ဆေးပါ ။ Input တန်ဖိုးများသည် [-1, 1] အကြားသေချာအောင်လုပ်ပါ။
floating တိကျမှန်ကန်မှုပြ issues နာများကိုကိုင်တွယ်ပါ ။
သစ်ခုတ်ခြင်းနှင့် debugging : ပြ troubl နာဖြေရှင်းရန်လွယ်ကူချောမွေ့စေရန်အဝင်တန်ဖိုးများကိုမှတ်တမ်းတင်ခြင်း။
ပြင်ပဒေတာအရင်းအမြစ်များကိုစစ်ဆေးပါ ။ ဒေတာဘေ့စ်သို့မဟုတ် API မှအချက်အလက်များအတွက်မှန်ကန်သောစစ်ဆေးမှုများကိုလုပ်ဆောင်ပါ။
ခြွင်းချက်ကိုင်တွယ်ခြင်း - Dear-Catch ဖွဲ့စည်းပုံကိုနှစ်သက်ပြီးအမှားအယွင်းများကိုလက်ကိုင်ရန်နှင့်ကိုင်တွယ်ရန်ကြိုးစားပါ။
ဤနည်းလမ်းများမှတစ်ဆင့်သင်သည် Asin () function ၏ပြ problem နာကိုပြန်လည်ရှောင်ရှားနိုင်ပြီး၎င်းသည်ပရိုဂရမ်၏ကြံ့ခိုင်မှုနှင့်တည်ငြိမ်မှုကိုသေချာစေရန် Nance nan ၏ပြ problem နာကိုပိုမိုရှောင်ရှားနိုင်သည်။