(PHP 4 >= 4.0.4, PHP 5, PHP 7)
ctype_digit — 数字かどうかを調べる
$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 進数を含む文字列とみなします。