(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
ctype_digit — 数字かどうかを調べる
text
調べる文字列。
注意:
-128 から 255 までの int を渡すと、ひとつの文字の ASCII 値とみなします (負の値には 256 を足して、拡張 ASCII の範囲に収まるようにします)。 それ以外の整数値は、10 進数を含む文字列とみなします。
PHP 8.1.0 以降は、ctype関数 に文字列でない引数を渡すことは、推奨されなくなりました。将来のバージョンでは、引数は ASCII コードポイントではなく、文字列として解釈されるようになります。ユーザが意図する振る舞いによっては、引数を文字列にキャストするか、 chr() を明示的にコールすべきです。
string text
のすべての文字が 10 進数字だった場合に
true
、そうでない場合に false
を返します。
空文字列を渡して呼び出した場合、結果は常に false
になります。
例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
?>