如何检查字符串是否由PHP中的整数组成

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了如何检查字符串是否由PHP中的整数组成脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在编写 PHP代码来验证用户输入的一些数据,其中一个是整数,我使用$_REQUEST [“age”]来获取它,当我检查这个值是否为gettyPE整数时($_ REQUEST [ “age”] ==“整数”和is_int($_ REQUEST [“age”])都给我假,但是当我使用is_numeric($_ REQUEST [“age”])时,我给的是真的.我想检查一下参数的值是否为整数,我是正确使用前2个函数还是我遗漏了什么? @H_419_7@

@H_419_7@Thakns

@H_419_7@注意:我试图输出gettype($_ REQUEST [“age”])它给我字符串

解决方法

精简版: @H_419_7@

@H_419_7@使用ctype_digIT($_ REQUEST [‘age’])

@H_419_7@长版:

@H_419_7@正如您在使用gettype时发现的那样,您的问题是$_REQUEST返回一个字符串.即使该字符串在语义上是整数,如16,它仍然是字符串类型而不是整数类型变量.你从两个测试得到不同的结果,因为他们测试不同的东西:

@H_419_7@> is_numeric根据PHP docs测试字符串是否包含“可选符号,任意数量的数字,可选的小数部分和可选的指数部分”.在您的情况下,字符串仅包含数字,因此测试返回True.
> is_int测试变量的类型是否为整数 – 它不是,因为它是由$_REQUEST返回的.

@H_419_7@这就是为什么is_numeric返回True而is_int返回False:字符串只包含数字(因此“是数字”)但技上仍然是字符串类型,而不是整数类型(因此“不是int”).当然,is_numeric不足以进行整数测试,因为如果字符串有小数或使用科学记数法,它将返回True,即数字但不是整数.

@H_419_7@要测试$_REQUEST是否为整数,无论​​技术类型如何,您都可以测试字符串中的所有字符是否为数字(因此字符串整数是整数).为此您可以使用ctype_digit

@H_419_7@

ctype_digit($_REQUEST['age'])
@H_419_7@这将返回True为16但不是16.5或16e0 – 从数字非整数中删除整数.

脚本宝典总结

以上是脚本宝典为你收集整理的如何检查字符串是否由PHP中的整数组成全部内容,希望文章能够帮你解决如何检查字符串是否由PHP中的整数组成所遇到的问题。

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

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