php判断变量是否为数字is_numeric()

is_numeric — 检测变量是否为数字或数字字符

<?php
$tests = array(
    "31",
    1380,
    "1e4",
    "not numeric",
    array(),
    9.1
);

foreach ($tests as $element) {
    if (is_numeric($element)) {
        echo "‘{$element}‘ is numeric", PHP_EOL;
    } else {
        echo "‘{$element}‘ is NOT numeric", PHP_EOL;
    }
}
?>

程序运行结果:

‘31‘ is numeric
‘1380‘ is numeric
‘1e4‘ is numeric
‘not numeric‘ is NOT numeric
‘Array‘ is NOT numeric
‘9.1‘ is numeric

字符串 1e4 也被判定为数字了。
is_numeric函数不只支持10进制的数字,也支持16进制类型数字。所以在使用中验证纯自然数字如QQ号码这样的数字串,要配合 intval()整型化函数。

<?php
    $id = 0xff33669f;
    if (is_numeric($id))
    echo $id, ‘符合要求。‘;//output 4281558687符合要求。
    else
    echo $id, ‘不符合要求。‘;
?>

如果需要判断整数,可以使用 is_int()函数,以免发生一些字符串也当成是合法数字的情况。
is_numeric能判定一个变量是否为数字或数字字符串,但是它的判定范围太宽了。整数、小数、指数表示以及16进制数值都会通过判断。 平时判定id的时候,用它就有点不合适。今天发现一个新的判定函数:ctype_digit,它可以只判定整数,这样就比is_numeric好一些。其他还有ctype_xdigit判定16进制整数,ctype_alpha判定字母等等函数。

时间: 2024-08-26 01:18:14

php判断变量是否为数字is_numeric()的相关文章

(转)java判断string变量是否是数字的六种方法小结

java判断string变量是否是数字的六种方法小结 (2012-10-17 17:00:17) 转载▼ 标签: it 分类: 转发 1.用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = 0; i < str.length(); i++){ System.out.println(str.charAt(i)); if (!Character.isDigit(str.charAt(i))){ return fal

javascript 判断变量 是否为空null,undefined, 空数组,空对象(空Object),字符串是否为空或全由空白字符组成,数字是否为0,布尔是否为false。

javascript 判断变量 是否为空null,undefined, 空数组,空对象,空Object,字符串是否为空或全由空白字符组成,数字是否为0,布尔是否为false.由于Object没有length用 Object.keys()适用于数组,对象 返回可枚举的实例属性名组成的数组来判断是否为空. 利用逻辑判断中or (||)只要有一项为真则不再计算下一个表达式 来实现不管传入的参数是何种类型.只要符合我对空的定义即返回true. 1 function IsNothing(e) { 2 va

js中判断一个变量是否为数字类型的疑问

1.typeof(a)=="number" 是true,但是a instanceof Number却为false,不理解 2.isNaN()不能判断一个变量是否为数字类型,isNaN(123)值为false,isNaN('123')值也为false.isNaN() 的实际作用跟它的名字isNaN并不一致,isNaN(NaN)值为true,isNaN(Number("xyz"))值为true,isNaN("abc")值为true,isNaN(123

shell 如何判断用户从键盘输入的变量是否为数字

在bash shell当中其实是没有直接的命令去判断变量是否为一个纯数字的,那么我们就是用间接的方法: 问题描述: read -t 30 -p "Please a number: " NUM 使用read命令接受用户从键盘输入一个变量,保存在变量NUM当中,有时候用户瞎输入一通,或者不输入,这对脚本的执行会有影响,顾提前判断一下,较好也是必要的,那么怎么判断呢? 方法一: 将NUM变量做进一步处理: STRING=`echo ${NUM}|sed 'sS^.*[0-9]$SS'` 将$

PHP is_numeric 检测变量是否为数字或数字字符串

is_numeric (PHP 4, PHP 5) is_numeric - 检测变量是否为数字或数字字符串 描述 bool is_numeric ( mixed $var ) 如果 var 是数字和数字字符串则返回 TRUE,否则返回 FALSE. 参见 is_bool().is_float().is_int().is_string().is_object().is_array() 和is_integer().

is_numeric 检测变量是否为数字或数字字符串

is_numeric 检测变量是否为数字或数字字符串 同样作用的函数还包括如下: is_bool().is_float().is_int().is_string().is_object().is_array() 和is_integer()...... 其作用根据字面意思就能很好的理解

java判断string变量是否是数字

1.用正则表达式 首先要import java.util.regex.Pattern 和 java.util.regex.Matcher /*方法1):推荐,速度最快   * 利用正则表达式判断字符串是否是数字   * @param str 传入的字符串    * @return 是整数返回true,否则返回false   */     public boolean isNumeric(String str){            Pattern pattern = Pattern.compi

字符串--java中判断字符串是否为数字的方法的几种方法?

ava中判断字符串是否为数字的方法: 1.用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = 0; i < str.length(); i++){ System.out.println(str.charAt(i)); if (!Character.isDigit(str.charAt(i))){ return false; } } return true; } 2.用正则表达式 首先要import java.u

C语言判断字符串是否为数字

判断一个字符串是否为数字, 听起来很简单,实现还是有点难度的. 最近写了一个,如下: #define IS_BLANK(c) ((c) == ' ' || (c) == '\t') #define IS_DIGIT(c) ((c) >= '0' && (c) <= '9') #define IS_ALPHA(c) ( ((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= '