使用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.
这仅在您的输入始终为字符串时才有效:
$numeric_string = '42';
$integer = 42;
ctype_digit($numeric_string); // true
ctype_digit($integer); // false
如果您的输入类型可能是 ,则与 is_int
结合使用。int
ctype_digit
如果您关心负数,则需要检查前面的 输入,如果是这样,请调用输入字符串的子字符串
。像这样的东西会这样做:-
ctype_digit
function my_is_int($input) {
if ($input[0] == '-') {
return ctype_digit(substr($input, 1));
}
return ctype_digit($input);
}