PHP 中数字检测 is_numeric 与 ctype_digit 的区别
PHP 中的两个函数
is_numeric
和 ctype_digit 都是检测字符串是否是数字,但也存在一点区
别
is_numeric
:检测是否为数字字符串,可为负数和小数
ctype_digit
:检测字符串中的字符是否都是数字,负数和小数会检测不通过
注意,参数一定要是字符串,如果不是字符串,则会返回 0/FASLE
下面是测试例子:
代码如下:
$a
= 0001111222 ;
var_dump(
$a
);
var_dump(
is_numeric
(
$a
));
//true
var_dump(ctype_digit(
$a
));
//true
$a
= 0.1 ;
var_dump(
$a
);
var_dump(
is_numeric
(
$a
));
//true
var_dump(ctype_digit(
$a
));
//false
$a
= -1 ;
var_dump(
$a
);
var_dump(
is_numeric
(
$a
));
//true
var_dump(ctype_digit(
$a
));
//false
$a
= a ;
var_dump(
$a
);
var_dump(
is_numeric
(
$a
));
//false
var_dump(ctype_digit(
$a
));
//false