在PHP中,我可以区分intval(null)和intval(“0”)的结果吗?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了在PHP中,我可以区分intval(null)和intval(“0”)的结果吗?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我通过POST得到输入值,其中一些可能是ID指的是其他东西,有些从0开始.当选择ID为0的东西,或者没有值的东西时,是否有类似intval()方法返回更有帮助的东西无法解析时超过0?或者我可以以某种方式区分intval()的结果与解析失败?

例:

echo intval(null); // 0
echo intval("0");  // 0

解决方法

您可以使用 filter_var()功能来确定差异:

filter_VAR(null,FILTER_VALIDATE_INT);
// false

filter_var('0',FILTER_VALIDATE_INT);
// int(0)

您还可以添加标志以专门接受十六进制和八进制值,但我不建议您这样做.

顺便说一句,在更可能的情况下变量来自$_POST,你也可以使用filter_@L_304_7@:

if (is_int($nr = filter_input(INPUT_POST,'nr',FILTER_VALIDATE_INT))) {
    // $nr contains an integer
}

我在filter_input的结果上使用is_int()的原因是因为当没有发布任何内容时,返回null;使用is_int()可以止此问题.

编辑

如果问题实际上只是关于null vs’0′,你可以只比较$var!== null:

if (!is_null($var)) {
    // $var is definITely not null
    // but it might also be an object,string,integer,float even,etc.
}

脚本宝典总结

以上是脚本宝典为你收集整理的在PHP中,我可以区分intval(null)和intval(“0”)的结果吗?全部内容,希望文章能够帮你解决在PHP中,我可以区分intval(null)和intval(“0”)的结果吗?所遇到的问题。

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

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