PHP:如何检查变量是否为“大整数”

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP:如何检查变量是否为“大整数”脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要检查参数(字符串或者int或者float)是否一个“大”整数. “大整数”我的意思是它没有小数位,可以超过 @L_512_1@_INT_MAX.它被用作msec时间戳,内部表示为float.

ctyPE_digIT想到但强制字符串类型.作为辅助检查的is_int限制为PHP_INT_MAX范围,is_numeric将接受带小数位的浮点,这是我不想要的.

依靠这样的东西是安全的,还是有更好的方法

if (is_numeric($val) && $val == floor($val)) {
    return (double) $val;
}
else ...
所以基本上你想检查一个特定的变量是否是整数的?
function isInteger($VAR)
{
    if (is_int($var)) {
        // the most obvIoUs test
        return true;
    } elseif (is_numeric($var)) {
        // cast to string First
        return ctype_digit((string)$var);
    }
    return false;
}

请注意,使用浮点变量来保持较大的整数将失去精度,并且当足够大时将变成一个分数,例如9.9999999999991E 36,这显然会失败上述测试.

如果给定环境(32位或64位)的值超过INT_MAX,我建议使用gmp,并以字符串格式持久保留数字.

脚本宝典总结

以上是脚本宝典为你收集整理的PHP:如何检查变量是否为“大整数”全部内容,希望文章能够帮你解决PHP:如何检查变量是否为“大整数”所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。