PHP開発中、データの精度とプログラムの安定性を確保するために、変数のタイプを検証する必要があることがよくあります。 IS_INT()関数は非常に実用的なツールの1つであり、値が整数型であるかどうかを判断するために使用されます。この記事では、 IS_INT()関数の使用方法、一般的なアプリケーションシナリオ、および注意を払うポイントを詳細に紹介します。
IS_INT()は、特定の変数が整数型であるかどうかを判断するために使用されるPHPによって提供される組み込み関数です。整数の場合、関数はtrueを返し、それ以外の場合はfalseを返します。その構文は次のとおりです。
<span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">is_int</span></span><span>(</span><span><span class="hljs-keyword">mixed</span></span><span> </span><span><span class="hljs-variable">$value</span></span><span>)
</span></span>
$ value :チェックする変数は、あらゆるタイプのものです。
trueを整数であることを意味します。
falseを返して、整数ではないことを示します。
<span><span><span class="hljs-variable">$number</span></span><span> = </span><span><span class="hljs-number">10</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_int</span></span><span>(</span><span><span class="hljs-variable">$number</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$number</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-string">"<span class="hljs-subst">$number</span></span></span><span> 不整数です。";
}
</span></span>
出力結果:
<span><span>10 整数です。
</span></span>
<span><span><span class="hljs-variable">$number</span></span><span> = </span><span><span class="hljs-string">"10"</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_int</span></span><span>(</span><span><span class="hljs-variable">$number</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$number</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-string">"<span class="hljs-subst">$number</span></span></span><span> 不整数です。";
}
</span></span>
出力結果:
<span><span>10 不整数です。
</span></span>
「10」は整数のように見えますが、文字列型であるため、 is_int()はfalseを返します。
<span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-number">5</span></span><span> + </span><span><span class="hljs-number">3</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_int</span></span><span>(</span><span><span class="hljs-variable">$result</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><span>計算結果は整数です。
</span></span>
入力検証:ユーザー入力が整数タイプであるかどうかを確認して、タイプエラーがプログラムのクラッシュを引き起こすのを防ぎます。
データ処理:数学操作またはデータベース操作を実行する前に、データが整数タイプであることを確認します。
条件付き判断:論理ブランチ処理は、変数タイプに基づいて実行され、コードの堅牢性を改善します。
PHPでは、 is_int() 、 is_integer() 、およびis_long()は実際には完全に同等です。それらはすべて、変数が整数型であるかどうかを決定する機能ですが、異なる名前を持っています。
<span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">is_int</span></span><span>(</span><span><span class="hljs-number">100</span></span><span>)); </span><span><span class="hljs-comment">// true</span></span><span>
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">is_integer</span></span><span>(</span><span><span class="hljs-number">100</span></span><span>)); </span><span><span class="hljs-comment">// true</span></span><span>
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">is_long</span></span><span>(</span><span><span class="hljs-number">100</span></span><span>)); </span><span><span class="hljs-comment">// true</span></span><span>
</span></span>
これら3つは同じ意味で使用できますが、その名前が最も単純で明確であるため、is_int()を均一に使用することをお勧めします。
IS_INT()はタイプを自動的に変換することはなく、文字列形式の数値は、コンテンツが整数であってもfalseを返します。
「整数のように見える」値を確認する場合は、 is_numeric()と組み合わせて使用するか、審査する前にタイプにキャストできます。
<span><span><span class="hljs-variable">$input</span></span><span> = </span><span><span class="hljs-string">"42"</span></span><span>;
</span><span><span class="hljs-variable">$converted</span></span><span> = (</span><span><span class="hljs-keyword">int</span></span><span>)</span><span><span class="hljs-variable">$input</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_int</span></span><span>(</span><span><span class="hljs-variable">$converted</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><span>変換されたのは整数です。
</span></span>
IS_INT()は、PHPのシンプルだが非常に実用的な機能であり、開発者が値が整数であるかどうかを迅速に判断するのに役立ちます。厳密なタイプコントロールを必要とするプログラムを作成する場合、 is_int()を使用すると、コードの堅牢性とセキュリティが大幅に向上します。使用法を習得し、実際のシナリオと組み合わせて柔軟に適用することは、すべてのPHP開発者にとって重要なスキルの1つです。