<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// ဤတွင်မသက်ဆိုင်သောကုဒ်များဥပမာအချို့ရှိသည်,simulation ပရိဘောဂအစိတ်အပိုင်းတစ်ခုစတင်</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">exampleFunction</span></span><span>(</span><span><span class="hljs-params"></span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-string">"ဤကုဒ်သည်ဆောင်းပါး၏အကြောင်းအရာနှင့်လုံးဝမသက်ဆိုင်ပါ,သာဥပမာအားဖြင့်သာ。"</span></span><span>;
}
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">exampleFunction</span></span><span>();
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
<span class="hljs-comment">/**
* ဘယ်လိုနည်းနဲ့ PHP အတွက်အသုံးပြုခဲ့သည် is_numeric အတူလုပ်ကိုင် filter_var ဒီဂျစ်တယ်စိစစ်အတည်ပြုအပြောင်းအလဲနဲ့ function ကို?
*
* တည်နေ PHP ဖွံ့ဖြိုးမှုအောက်မှာ,အသုံးပြုသူမှထည့်သွင်းထားသောဒေတာများကိုဒစ်ဂျစ်တယ်စစ်ဆေးခြင်းကိုမကြာခဏလိုအပ်သည်,ဒေတာ၏တရားဝင်မှုကိုသေချာ。
* တွင်,is_numeric နှင့် filter_var ဤရွေ့ကားနှစ်ခုအသုံးများသော functions များဖြစ်ကြသည်,တစ်ခုချင်းစီတွင်ကိုယ်ပိုင်အားသာချက်များနှင့်အားနည်းချက်များရှိသည်。
* ဤဆောင်းပါးသည်ထိရောက်သောဒီဂျစ်တယ်အတည်ပြုချက်အတွက်ဤလုပ်ဆောင်မှုနှစ်ခုကိုမည်သို့ပေါင်းစပ်ရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။。
*/</span>
<span class="hljs-comment">/**
* 1. is_numeric နိဒါန်းနိဒါန်း
* is_numeric variable တစ်ခုကဂဏန်းတစ်ခုသို့မဟုတ်ဂဏန်းကြိုးကြိုးတစ်မျိုးကိုရှာဖွေတွေ့ရှိရန်အသုံးပြုသည်(ကိန်းဂဏန်းများအပါအဝင်、floating အမှတ်နံပါတ်、သိပ္ပံနည်းကျရေတွက်နည်းလမ်း)。
* နမူနာ:
*/</span>
</span><span><span class="hljs-variable">$values</span></span><span> = [</span><span><span class="hljs-string">'123'</span></span><span>, </span><span><span class="hljs-string">'12.3'</span></span><span>, </span><span><span class="hljs-string">'1e10'</span></span><span>, </span><span><span class="hljs-string">'abc'</span></span><span>, </span><span><span class="hljs-string">''</span></span><span>];
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$values</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$val</span></span><span>) {
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_numeric</span></span><span>(</span><span><span class="hljs-variable">$val</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"'<span class="hljs-subst">{$val}</span></span></span><span>' ဒါဟာနံပါတ်ပါ\n";
} </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-string">"'<span class="hljs-subst">{$val}</span></span></span><span>' 不ဒါဟာနံပါတ်ပါ\n";
}
}
<span class="hljs-comment">/**
* 2. filter_var နိဒါန်းနိဒါန်း
* filter_var ၎င်းသည်အင်အားကြီးသော filter ကို function တစ်ခုဖြစ်သည်,可用于验证နှင့်过滤数据。
* တွင်,FILTER_VALIDATE_INT နှင့် FILTER_VALIDATE_FLOAT 用于ကိန်းကိုစစ်ဆေးပါနှင့်floating အမှတ်နံပါတ်。
* နမူနာ:
*/</span>
</span><span><span class="hljs-variable">$intVal</span></span><span> = </span><span><span class="hljs-string">'123'</span></span><span>;
</span><span><span class="hljs-variable">$floatVal</span></span><span> = </span><span><span class="hljs-string">'12.3'</span></span><span>;
</span><span><span class="hljs-variable">$invalidVal</span></span><span> = </span><span><span class="hljs-string">'12abc'</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">filter_var</span></span><span>(</span><span><span class="hljs-variable">$intVal</span></span><span>, FILTER_VALIDATE_INT)); </span><span><span class="hljs-comment">// int(123)</span></span><span>
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">filter_var</span></span><span>(</span><span><span class="hljs-variable">$floatVal</span></span><span>, FILTER_VALIDATE_FLOAT)); </span><span><span class="hljs-comment">// float(12.3)</span></span><span>
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">filter_var</span></span><span>(</span><span><span class="hljs-variable">$invalidVal</span></span><span>, FILTER_VALIDATE_INT)); </span><span><span class="hljs-comment">// bool(false)</span></span><span>
<span class="hljs-comment">/**
* 3. ပေါင်းစပ်ထားသော is_numeric နှင့် filter_var ကြည့်ရှုပါ
* - is_numeric 能够检测是否ဒါဟာနံပါတ်ပါ或数字字符串,ကျယ်ပြန့်အကွာအဝေး。
* - filter_var ပိုပြီးတင်းကြပ်စိစစ်အတည်ပြု,能区分整数နှင့်floating အမှတ်နံပါတ်。
*
* 实际ဖွံ့ဖြိုးမှုအောက်မှာ,ပထမ ဦး ဆုံးအသုံးပြုနိုင်ပါသည် is_numeric ပဏာမတရားသဖြင့်စီရင်ပါ,နောက်တဖန်အသုံးပြုပါ filter_var တိကျသောစိစစ်အတည်ပြုလုပ်ဆောင်ပါ。
*/</span>
<span class="hljs-comment">/**
* 4. 实际နမူနာ代码
*/</span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">validateNumber</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$input</span></span></span><span>, </span><span><span class="hljs-variable">$type</span></span><span> = </span><span><span class="hljs-string">'any'</span></span><span>) {
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-title function_ invoke__">is_numeric</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>)) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-literal">false</span></span><span>;
}
</span><span><span class="hljs-keyword">switch</span></span><span> (</span><span><span class="hljs-variable">$type</span></span><span>) {
</span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'int'</span></span><span>:
</span><span><span class="hljs-comment">// ကိန်းကိုစစ်ဆေးပါ</span></span><span>
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">filter_var</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>, FILTER_VALIDATE_INT) !== </span><span><span class="hljs-literal">false</span></span><span>;
</span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'float'</span></span><span>:
</span><span><span class="hljs-comment">// 验证floating အမှတ်နံပါတ်</span></span><span>
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">filter_var</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>, FILTER_VALIDATE_FLOAT) !== </span><span><span class="hljs-literal">false</span></span><span>;
</span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'any'</span></span><span>:
</span><span><span class="hljs-keyword">default</span></span><span>:
</span><span><span class="hljs-comment">// 只要ဒါဟာနံပါတ်ပါ即可</span></span><span>
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-literal">true</span></span><span>;
}
}
</span><span><span class="hljs-comment">// စမ်းသပ်မှုကိစ္စများ</span></span><span>
</span><span><span class="hljs-variable">$testInputs</span></span><span> = [</span><span><span class="hljs-string">'123'</span></span><span>, </span><span><span class="hljs-string">'12.3'</span></span><span>, </span><span><span class="hljs-string">'1e3'</span></span><span>, </span><span><span class="hljs-string">'abc'</span></span><span>, </span><span><span class="hljs-string">'0'</span></span><span>, </span><span><span class="hljs-string">'-45'</span></span><span>, </span><span><span class="hljs-string">'3.14.15'</span></span><span>];
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$testInputs</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$input</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဝင်ရောက် '<span class="hljs-subst">{$input}</span></span></span><span>' တစ်ခုကိန်းအဖြစ်အတည်ပြုပါ: " . (</span><span><span class="hljs-title function_ invoke__">validateNumber</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>, </span><span><span class="hljs-string">'int'</span></span><span>) ? </span><span><span class="hljs-string">'သွား'</span></span><span> : </span><span><span class="hljs-string">'不သွား'</span></span><span>) . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဝင်ရောက် '<span class="hljs-subst">{$input}</span></span></span><span>' 验证为floating အမှတ်နံပါတ်: " . (</span><span><span class="hljs-title function_ invoke__">validateNumber</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>, </span><span><span class="hljs-string">'float'</span></span><span>) ? </span><span><span class="hljs-string">'သွား'</span></span><span> : </span><span><span class="hljs-string">'不သွား'</span></span><span>) . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဝင်ရောက် '<span class="hljs-subst">{$input}</span></span></span><span>' မည်သည့်နံပါတ်မဆိုအတည်ပြုပါ: " . (</span><span><span class="hljs-title function_ invoke__">validateNumber</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>, </span><span><span class="hljs-string">'any'</span></span><span>) ? </span><span><span class="hljs-string">'သွား'</span></span><span> : </span><span><span class="hljs-string">'不သွား'</span></span><span>) . </span><span><span class="hljs-string">"\n"</span></span><span>;
}
<span class="hljs-comment">/**
* 5. အကျဉ်းချုပ်
* - အသုံးပြု is_numeric string သည်ဂဏန်းပုံစံနှင့်ရှိမရှိလျင်မြန်စွာဆုံးဖြတ်နိုင်သည်。
* - filter_var ပိုမိုကောင်းမွန်သောဂဏန်းအမျိုးအစားစိစစ်အတည်ပြုပေးနိုင်သည်。
* - 两者ပေါင်းစပ်ထားသောအသုံးပြု,能提高数字验证的准确性နှင့်灵活性。
*/</span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>