Ctype 関数
PHP Manual

ctype_digit

(PHP 4 >= 4.0.4, PHP 5)

ctype_digit数字かどうかを調べる

説明

bool ctype_digit ( string $text )

与えられた文字列 text のすべての文字が 数字であるかどうかを調べます。

パラメータ

text

調べる文字列。

返り値

string text のすべての文字が 10 進数字だった場合に TRUE、そうでない場合に FALSE を返します。

変更履歴

バージョン 説明
5.1.0 PHP 5.1.0 より前のバージョンでは、この関数は text が空文字列の場合に TRUE を返していました。

例1 ctype_digit() の例

<?php
$strings 
= array('1820.20''10002''wsl!12');
foreach (
$strings as $testcase) {
    if (
ctype_digit($testcase)) {
        echo 
"The string $testcase consists of all digits.\n";
    } else {
        echo 
"The string $testcase does not consist of all digits.\n";
    }
}
?>

上の例の出力は以下となります。

The string 1820.20 does not consist of all digits.
The string 10002 consists of all digits.
The string wsl!12 does not consist of all digits.

例2 ctype_digit() で文字列と整数値を比較する例

<?php

$numeric_string 
'42';
$integer        42;

ctype_digit($numeric_string);  // true
ctype_digit($integer);         // false (ASCII 42 は * です)

is_numeric($numeric_string);   // true
is_numeric($integer);          // true
?>

注意

注意:

この関数を活用するには string を渡さなければなりません。 たとえば integer を渡すと、期待する結果にならない可能性があります。 HTML フォームに入力された整数値は、integer ではなく string 型で返されます。 マニュアルの についての節を参照ください。

注意:

-128 から 255 までの整数値を渡すと、ひとつの文字の ASCII 値とみなします (負の値には 256 を足して、拡張 ASCII の範囲に収まるようにします)。 それ以外の整数値は、10 進数を含む文字列とみなします。

参考


Ctype 関数
PHP Manual