在php中有时候需要判定一个变量的值是否为数字或是否为数字字符串,而php中也提供了一个很好用的内置函数 is_numeric(),可以很轻松的来检测变量。
php is_numeric() 函数先容is_numeric():检测一个php的变量是否为数字或数字字符串。
语法:
is_numeric($var)参数:
$var:被检测的变量
返回值:
假如被检测的变量是数字或字符串,返回TRUE,不然返回FALSE。
PHP is_numeric 检测变量是否为数字或数字字符串例1:
php代码
<?php $str = '123456'; echo $str.' 是否为数字:'; var_dump(is_numeric($str)); $str2 = '123456a'; echo $str2.' 是否为数字:'; var_dump(is_numeric($str2)); $str3 = 123456; echo $str3.' 是否为数字:'; var_dump(is_numeric($str3)); $str4 = 1234.56; echo $str4.' 是否为数字:'; var_dump(is_numeric($str4)); ?>打印功效:
123456 是否为数字:bool(true) 123456a 是否为数字:bool(false) 123456 是否为数字:bool(true) 1234.56 是否为数字:bool(true)PS:假如被检测的变量,是一个带有小数的字符串,也会被认为是数字范例
示例2:
is_numeric() 函数,有大概会判定部为非数字的字段串为数字,好比部份16进制的数字。
php代码
<?php echo is_number('1e4');//这个是16进制 echo is_number('1a4');//这个是16进制 function is_number($str){ if(is_numeric($str)){ return '是数字'; }else{ return '非数字'; } } ?>举办功效:
是数字 非数字php判定是字符串是否为纯数字的要领利用 is_numeric() 函数来判定一个字符串是否为数字时,逻辑并不严谨,因为它不只仅能判定十进制的数字,也对部份十六进制数字范例的字符串免疫。
php中还提供了一个函数 ctype_digit() ,也可以到达判定字符串是否为数字的目标。
php ctype_digit()函数先容
参考文章:https://www.feiniaomy.com/post/501.html
例:
<?php $v = '1e4'; var_dump(ctype_digit($v)); //bool(false) $v2 = '11245abcde'; var_dump(ctype_digit($v2)); //bool(false) $v3 = '11245.55'; var_dump(ctype_digit($v3)); //bool(false) $v4 = '11245'; var_dump(ctype_digit($v4)); //bool(true) ?>