我正在寻找变量中的数字,如果找不到,我会引用该字符串 - 否则它不会被引用。例子:
$x = '000916846E38516';
if (is_numeric($x)) { echo 'Numeric!'; } else { echo 'Non-numeric!'; }
碰巧该字符串是科学记数法,而 PHP 将其识别为数字。我应该如何解决这个问题?只是检查是否有字母字符会更好,还是有另一个类似于 is_numeric 的函数可以排除科学数字?
我正在寻找变量中的数字,如果找不到,我会引用该字符串 - 否则它不会被引用。例子:
$x = '000916846E38516';
if (is_numeric($x)) { echo 'Numeric!'; } else { echo 'Non-numeric!'; }
碰巧该字符串是科学记数法,而 PHP 将其识别为数字。我应该如何解决这个问题?只是检查是否有字母字符会更好,还是有另一个类似于 is_numeric 的函数可以排除科学数字?
is_int()
并且ctype_digit()
都应该为您工作。
filter_var()
可能会更好,因为您可以设置标志来验证浮点数 ( FILTER_VALIDATE_FLOAT
) 和整数 ( FILTER_VALIDATE_INT
)