intval()和int()
int intval ( mixed $var [, int $base ] ) 通过使用特定的进制转换(默认是十进制),参数base表示进制,只有当var是字符串时,base才会有意义,表示按照base进制来对var进行转换,返回变量 var 的 integer 数值。
intval()而言,如果参数是字符串,则返回字符串中第一个不是数字的字符之前的数字串所代表的整数值。如果字符串第一个是‘-',则从第二个开始算起。如果参数是符点数,则返回他取整之后的值。 当var是一个array时候,var为空则返回0,不为空则返回1
例如:intval("12ab3") 返回的是12
intval("ab123")返回的是0
intval("-1ab2")返回的是-1
intval(12.3223)=12
intval("100", 2) = 4 100按照2进制看就是4
intval(array()) = 0
intval(array(1,2)) = 1
=======================================
int()的效果其实和intval一样,只是效率貌似不如intval高
=======================================
如果需要判断一个字符串是否为纯数字,不能使用intval转换,必须使用is_numeric($var),如果var为纯数字,则返回true,否则返回false
is_numeric("12a") = false
is_numeric("123") = true
is_numeric("9.2") = true
=======================================
判断纯数字也可以使用正则表达式 preg_match(
'/^\d+$/i'
, $var
)