判断是否为数字
使用is_numeric函数,可以判断数字或者数字字符串
$variables = [ 0, 36, 3.6, .36, '36', 'a36', 044, //8进制 0x24, //16进制 1337e0 ];
结果
int(0) is number : Y // 0 int(36) is number : Y // 36 float(3.6) is number : Y // 3.6 float(0.36) is number : Y // .36 string(2) "36" is number : Y // '36' string(3) "a36" is number : N // 'a36' int(36) is number : Y // 044 int(36) is number : Y // 0x24 float(1337) is number : Y // 1337e0
判断是否为整数
使用filter_var($v, FILTER_VALIDATE_INT) === false,这个方法可以支持整数字符串(is_int和is_integer不支持判断整数字符串)
$variables = [ 0, 36, 3.6, .36, '36', 'a36', 044, //8进制 0x24, //16进制 1337e0, 1337e-1 ]; foreach ($variables as $v) { $str = var_dump($v).'is integer :'; //注意filter_var如果匹配的话将返回匹配的值,注意0的情况 if (filter_var($v, FILTER_VALIDATE_INT) === false) { echo "{$str} N"; } else { echo "{$str} Y"; } echo "<br>"; }
结果
int(0) is integer : Y // 0 int(36) is integer : Y // 36 float(3.6) is integer : N // 3.6 float(0.36) is integer : N // .36 string(2) "36" is integer : Y //'36' string(3) "a36" is integer : N // 'a36' int(36) is integer : Y // 044 int(36) is integer : Y // 0x24 float(1337) is integer : Y //1337e0 float(133.7) is integer : N //1337e-1
赞 (0)