當前位置: 首頁> 最新文章列表> 如何用is_integer 在表單驗證中確保用戶輸入為整數

如何用is_integer 在表單驗證中確保用戶輸入為整數

gitbox 2025-09-16
<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">"<h1>歡迎訪問我們的PHP教程</h1>"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<p>這裡是示例頁面,展示如何使用PHP進行開發。</p>"</span></span><span>;

</span><span><span class="hljs-meta">?></span></span><span>

<hr>

</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">"<h2>如何用 is_integer 在表單驗證中確保用戶輸入為整數</h2>"</span></span><span>;

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<p>在Web開發中,表單輸入驗證是非常重要的一步,尤其是在需要確保用戶輸入為整數的場景中。PHP提供了 <code>is_integer()
" ; echo "

2. 表單輸入註意事項

"
; echo "

表單提交的數據通常以字符串形式傳遞,即使用戶輸入的是數字。比如:

"
; echo "
<form method=&#39;post&#39;>
  輸入數字: <input type=&#39;text&#39; name=&#39;age&#39;>
  <input type=&#39;submit&#39; value=&#39;提交&#39;>
</form>

if (isset(\$_POST[&#39;age&#39;])) {
    \$age = \$_POST[&#39;age&#39;];
    var_dump(is_integer(\$age)); // 輸出false,因為\$age 是字符串}
"
;
echo "

可以看到,即使用戶輸入的是整數, is_integer()仍然返回false ,因為它判斷的是變量類型而不是值。

"
; echo "

3. 正確驗證用戶輸入為整數

"
; echo "

通常的做法是先將輸入轉換為整數,再用is_integer()驗證,或者使用filter_var或正則表達式。例如:

"
; echo "
\$age = \$_POST[&#39;age&#39;];
if (filter_var(\$age, FILTER_VALIDATE_INT) !== false) {
    echo &#39;輸入是整數&#39;;
} else {
    echo &#39;輸入不是整數&#39;;
}
"
;
echo "

或者,先強制類型轉換,再用is_integer()檢查:

"
; echo "
\$age = (int)\$_POST[&#39;age&#39;];
if (is_integer(\$age)) {
    echo &#39;輸入是整數&#39;;
} else {
    echo &#39;輸入不是整數&#39;;
}
"
;
echo "

4. 總結

"
; echo

"雖然is_integer()能判斷變量類型是否為整數,但直接用於表單輸入可能會導致誤判。最佳做法是結合filter_var或正則表達式進行驗證,以確保用戶輸入的是有效整數。 "

; // 文章正文結束 ?>