PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのctype_digit()関数の使い方 – 文字列が数字のみかどうかを判定する方法

ctype_digit()関数は、文字列に含まれるすべての文字が10進数の数字(0〜9)であるかどうかを調べる関数です。検証対象の文字列が数字のみで構成されている場合にTRUEを返し、それ以外の場合はFALSEを返します。フォーム入力のバリデーションや、ユーザーID・郵便番号など数値のみで構成されたデータのチェックに活用できます。

構文

ctype_digit(str)

パラメータ

  • str − 検証対象となる文字列

戻り値

文字列内のすべての文字が10進数の数字であればTRUE、そうでなければFALSEを返します。

使用例

以下はctype_digit()関数を使ったサンプルプログラムです。アルファベットと数字が混在する文字列「mac7687」と、数字のみの文字列「8798」をそれぞれ判定しています。

<?php
    $arr = array('mac7687', '8798');

    foreach ($arr as $a) {
        if (ctype_digit($a)) {
            echo "$a はすべて数字で構成されています。\n";
        } else {
            echo "$a には数字以外の文字が含まれています。\n";
        }
    }
?>

出力結果

上記プログラムの実行結果は以下の通りです。

mac7687 には数字以外の文字が含まれています。
8798 はすべて数字で構成されています。

注意点

  • 空文字列("")を渡した場合はFALSEを返します(PHP 5.1.0以降)。

  • マイナス記号(-)や小数点(.)は数字として扱われないため、「-123」や「3.14」のような文字列にはFALSEが返ります。負数や小数を判定したい場合はis_numeric()関数の利用を検討してください。

  • 整数値をそのまま引数に渡すのは避けてください。256未満の整数はASCIIコードとして解釈されるため、意図しない結果になる可能性があります。必ず文字列として渡しましょう。

  1. PHPのlog()関数とは?自然対数の計算方法と使い方を解説

    定義と使い方log() 関数は、数値の自然対数(natural logarithm)を計算します。対数とは、指数関数の逆演算のことです。たとえば 102=100 という関係は「log10100=2」と表せます。自然対数はオイラー数 e を底として計算され、PHP では定義済み定数 M_E によって e の値(2.7182818284590452354)が提供されています。具体例を挙げると、exp(4.60517018599)=100(つまり e4.60517018599=100)が成り立つため、loge100=4.60517018599 となります。PHP では、この自然対数(loge)を l

  2. PHPのlcg_value()関数とは?乱数生成の基本と使い方を解説

    lcg_value()関数の定義と使い方lcg_value()関数は、0から1までの範囲でランダムな数値(浮動小数点数)を生成するPHP組み込み関数です。「LCG」とは「線形合同法(Linear Congruential Generator)」の略称です。この手法は、不連続な区分線形方程式を用いて擬似乱数列を計算するアルゴリズムで、擬似乱数生成アルゴリズムの中でも最も古くから知られているものの一つです。構文lcg_value ( void ) : floatパラメータこの関数は引数を受け取りません。戻り値lcg_value()関数は、0.0以上1.0以下の範囲にある擬似乱数のfloat値を返し