<span><span><span class="hljs-meta"><?php</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-string">"這是與文章內容無關的前置代碼。"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
<h2>如何使用is_real函數判斷POST提交的數據中哪些是浮點類型?</h2>
<p>在PHP中,處理用戶通過POST方式提交的數據時,常常需要判斷某個值是否為浮點數(即實數)。PHP原生沒有名為<code>is_real
這個函數先用is_numeric()判斷是不是數字,再用正則表達式嚴格匹配浮點格式(可帶負號、小數點)。
<?php
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$_SERVER</span></span><span>[</span><span><span class="hljs-string">'REQUEST_METHOD'</span></span><span>] === </span><span><span class="hljs-string">'POST'</span></span><span>) {
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$_POST</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$key</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_real</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"字段 '<span class="hljs-subst">{$key}</span></span></span><span>' 是浮點數,值為:</span><span><span class="hljs-subst">{$value}</span></span><span> <br>";
} </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">{$key}</span></span></span><span>' 不是浮點數,值為:</span><span><span class="hljs-subst">{$value}</span></span><span> <br>";
}
}
}
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">is_real</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$value</span></span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">is_numeric</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>) && </span><span><span class="hljs-title function_ invoke__">preg_match</span></span><span>(</span><span><span class="hljs-string">'/^-?\d+(\.\d+)?$/'</span></span><span>, </span><span><span class="hljs-variable">$value</span></span><span>);
}
?>
儘管PHP沒有名為is_real()的函數,我們可以自定義函數通過結合is_numeric()和正則表達式,準確判斷POST提交數據中哪些是浮點數。這種方式能幫助我們更好地處理和驗證用戶輸入,確保數據正確性。