PHP で値が整数かどうかを正確に確認する方法

Susan Sarandon
リリース: 2024-10-19 13:23:29
オリジナル
1057 人が閲覧しました

How to Accurately Check if a Value Is an Integer in PHP

PHP での整数値の確認

形式が異なる可能性のあるユーザー入力またはデータを操作する場合、変数の型を確認することが重要です。 PHP では、変数が整数であるかどうかをチェックすることは、数学的演算、比較、データ検証に不可欠です。ただし、is_int() を使用すると、予期しない結果が生じる可能性があります。

is_int() に関する問題

PHP の is_int() 関数は、変数の型が整数の場合に true を返します。ただし、次のような制限があります。

  • 10 進数と整数を区別できず、両方に true を返します。
  • 先頭と末尾の空白が無視されるため、ユーザーの検証時に問題が発生する可能性があります。 input.

整数検証の代替方法

1. FILTER_VALIDATE_INT フィルター:

filter_var() の FILTER_VALIDATE_INT フィルター オプションは、整数検証のためのより信頼性の高い方法を提供します:

<code class="php">if (filter_var($variable, FILTER_VALIDATE_INT) === false) {
    echo "Your variable is not an integer";
}</code>
ログイン後にコピー

2。キャストと比較:

もう 1 つのアプローチは、変数を整数にキャストし、それを元の文字列値と比較することです:

<code class="php">if (strval($variable) !== strval(intval($variable))) {
    echo "Your variable is not an integer";
}</code>
ログイン後にコピー

3。 CTYPE_DIGIT 関数:

正の整数と 0 の場合のみ、ctype_digital():

<code class="php">if (!ctype_digit(strval($variable))) {
    echo "Your variable is not an integer";
}</code>
ログイン後にコピー

4 を使用できます。正規表現 (REGEX) マッチング:

正規表現パターンは、整数の検証にも使用できます:

<code class="php">if (!preg_match('/^-?\d+$/', $variable)) {
    echo "Your variable is not an integer";
}</code>
ログイン後にコピー

以上がPHP で値が整数かどうかを正確に確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート