PHP中是否有一个函数将字符串转换为int,但是严重地使用“int”。
转换为int或intval
都试图变得聪明并执行其他数学运算,例如舍入。
我有一个解决方案 - 使用int cast,然后将int转换回string。
如果结果相同,则确定,但如果不是,则表示字符串代表其他(例如浮动)。
"2.2" --> 2 --> "2" --> fail
"3" --> 3 --> "3" --> OK
但我想知道PHP中是否有可以使用的东西?
答案 0 :(得分:1)
您可以使用以下功能:
function StrictIntVal($x)
{
// If we already have an integer
if(is_int($x)) return $x;
// Check we have a string
if(!is_string($x)) return false;
// Check the string only contains digits (and optional sign)
if(!preg_match("/^[\+\-]?\d+$/", $x)) return false;
return intval($x);
}
答案 1 :(得分:-1)