PHP函数is_int(),is_integer(),is_long(),is_numeric(),ctype_digit()的区别

一,用法

1.is_int():检测变量是否是整数;is_integer 和 is_long() 都是它的别名;

is_int ( mixed $var ) : bool

2.is_numeric():检测变量是否为数字或数字字符串

is_numeric ( mixed $var ) : bool

3.ctype_digit():做纯数字检测

ctype_digit ( string $text ) : bool

二,区别

1,检测变量类型:

  • in_int为整数,也就是整形(int)
  • is_numeric为数字或数字字符串,也就是整形(int)、浮点型(floor)、字符串(string)
  • ctype_digit为字符串,也就是字符串(string)
$value = 12;
var_dump(is_int($value));       //true
var_dump(is_numeric($value));   //true
var_dump(ctype_digit($value));  //false

$value = '12';
var_dump(is_int($value));        //false
var_dump(is_numeric($value));    //true
var_dump(ctype_digit($value));   //true

2,检查变量值

  • in_int为整数,也就是正整数、0、负整数
  • is_numeric为数字,也就是正负整数、正负小数、0
  • ctype_digit比较特别,虽然说检查是否为数字,但因为它是逐个检测字符串中字符,所以负号和小数点是字符串型的,会判为false,个人觉得可以理解为验证值是否为非负整数
$value = 12.1;
var_dump(is_int($value));        //false
var_dump(is_numeric($value));    //true
var_dump(ctype_digit($value));   //false 

$value = '12.1';
var_dump(is_int($value));        //false
var_dump(is_numeric($value));    //true
var_dump(ctype_digit($value));   //false

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值