# ctype_digit

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

ctype_digit — 做纯数字检测

### 说明

ctype_digit ( string `$text` ) : bool

检查提供的 string 和 `text` 里面的字符是不是都是数字。

### 参数

`text`

  需要被测试的字符串。

### 返回值

如果 `text` 字符串是一个十进制数字，就返回 `TRUE` ；反之就返回 `FALSE` 。

### 更新日志

版本 | 说明
--- | ---
5.1.0 | 在 PHP 5.1.0 之前，当 `text` 是一个空字符串的时候，该函数将返回 `TRUE` 。

### 范例

Example #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.

Example #2 一个通过 ctype_digit() 来比对字符和整数的例子。

    <?php

    $numeric_string = '42';
    $integer        = 42;

    ctype_digit($numeric_string);  // true
    ctype_digit($integer);         // false (ASCII 42 is the * character)

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

### 注释

> Note:

> 这个函数的参数要求是一个 string 这一点是非常有用的，因此当你传入一个 integer 的参数也许不能得到期望的结果。然后，同样需要注意HTML表单将会返回数字字符串而不是一个整型。 看下手册的 types 章节。

> Note:

> 如果给出一个 -128 到 255 之间(含)的整数, 将会被解释为该值对应的ASCII字符 (负值将加上 256 以支持扩展ASCII字符). 其它整数将会被解释为该值对应的十进制字符串.

### 参见

- ctype_alnum() - 做字母和数字字符检测
- ctype_xdigit() - 检测字符串是否只包含十六进制字符
- is_numeric() - 检测变量是否为数字或数字字符串
- is_int() - 检测变量是否是整数
- is_string() - 检测变量是否是字符串