ctype_digit
(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
ctype_digit — 做純數字檢測
說明
ctype_digit(string
$text
): bool
檢查提供的 string 和 text
裡面的字元是不是都是數字。
參數
-
text
-
需要被測試的字串。
返回值
如果 text
字串是一個十進制數字,就返回 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 the * character)
is_numeric($numeric_string); // true
is_numeric($integer); // true
?>
註釋
注意:
這個函式的參數要求是一個 string 這一點是非常有用的,因此當你傳入一個 integer 的參數也許不能得到期望的結果。然後,同樣需要注意HTML表單將會返回數字字串而不是一個整型。 看下手冊的 types 章節。
注意:
如果給出一個 -128 到 255 之間(含)的int, 將會被解釋為該值對應的ASCII字元 (負值將加上 256 以支援擴充套件ASCII字元). 其它整數將會被解釋為該值對應的十進制字串.
參見
- ctype_alnum() - 做字母和數字字元檢測
- ctype_xdigit() - 檢測字串是否只包含十六進制字元
- is_numeric() - 檢測變數是否為數字或數字字串
- is_int() - 檢測變數是否是整數
- is_string() - 檢測變數是否是字串